2012-06-05 2 views
1

Как рассчитать листинг в документе PDF?Как рассчитать лидерство в PDF-документе

Например:

48 0 0 48 72 677.28 Tm 
(Hello World) Tj 
0 -1.1075 TD 

Это делает тексту Hello World в 48pt/57.6pt (120% высоты линии) в Times-Roman.

В соответствии с руководством PDF Reference «ведущий параметр измеряется в единицах немасштабированного текстового пространства. Он определяет вертикальное расстояние между базовыми линиями смежных строк текста ... Число выражено в тысячных частях единицы текстового пространства «.

Может кто-нибудь объяснить, как связаны 1.1075 и 57.6?

+0

Где вы получите 120% от и почему вы умножаете его с 48, чтобы получить 57,6? Оператор Tm масштабирует размер шрифта (устанавливается Tf) на 48, но ваш фрагмент кода не показывает операнды оператора Tf. – iPDFdev

+0

Текст одноразовый (120%). Шрифт имеет «Тип 1», и он не встроен. Значение «1.1075» похоже на высоту, указанную в файле показателей: «FontBBox -167 -229 1009 878' Правильно ли это? – xpsd300

ответ

-1

Ведущее обычно устанавливается в PDF с помощью команды TL, так же, как это:

12 TL 
(El ingenioso hidalgo don Quijote de la Mancha)' 

Это 12 указывает на ведущую из 12 пунктов, пока другой TL не найден.

Надеюсь, это вам поможет. Я думаю, что это самый простой способ сделать это :)

+0

Это работает только в том случае, если в документе есть TL. – mjaggard

+0

* Это 12 указывает начало из 12 пунктов * - если матрицы преобразований не изменят правила. – mkl

1

Вы неверны в файлах pdf. Я полагаю, вы имеете в виду:

48 0 0 48 72 677.28 Tm 
0 -1.1075 TD  
(Hello World) Tj 

Этот код набора текста системы координат (команда Tm):

Scale x48 on x and x48 on y 
Start position (72, 677.28) 

Тогда это положение переход к следующей строке. Следующая строка в разделе 1.1075 "текст". А затем переместите начальную позицию на -1.1075 "текст" пикселей по координате y. Текстовый пиксель в этом примере - это пиксель pdf, умноженный на 48. Он задается командой Tm.

Я могу упростить вам PDF-код. Это то же самое:

48 0 0 48 72 570.096 Tm 
(Hello World) Tj 

Объяснение: 677,28 - (1,1075 * 48) - (1,1075 * 48)

вы должны всегда помнить, что PDF это язык. Для вычисления реальных координат вы будете разбирать все предыдущие команды. Там может быть что-то вроде этого, прежде чем команды:

10 0 0 10 0 0 cm