Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.04;
Скачать: CL | DM;

Вниз

текст из PDF матрица текста   Найти похожие ветки 

 
ford ©   (2010-05-25 16:57) [0]

Доброго времени суток!
может кто разбирался с форматом PDF, и в курсе что такое эта текстовая матрица и как из нее вытащить координаты куда на странице писать текст?

в потоке объекта есть определение типа
BT
1 1 1  scn
/C2_0 1 Tf
0.02 Tc 13.56 0 0 12 104.2303 999.0885 Tm
<01FE01F201F801FB001D000301F101F201F801ED000301F5000301F8020B01F101F5>Tj
ET

т.е. определяется цвет тегом scn
потом шрифт тегом Tf и его размер
потом ширина букв Tc
и потом эта текстовая матрица шесть чисел до тега Tm
в описании сказано что
"operands a b c d e f  Set the text matrix, Tm , and the text line matrix, Tlm :
    |a b 0|
tm=|c d 0|
    |e f 1|
The operands shall all be numbers, and the initial value for Tm and Tlmshall be the identity matrix, [ 1 0 0 1 0 0 ]. Although the operands specify a matrix, they shall be passed to Tm as six separate numbers, not as an array.
The matrix specified by the operands shall not be concatenated onto the current text matrix, but shall replace it."

помогите разобраться плииз :((


 
MBo ©   (2010-05-25 17:48) [1]

похоже на матрицу аффинного преобразования (см., например, XFORM в хелпе)


 
ford ©   (2010-05-25 17:57) [2]

похоже
потому что нашел текст где перед каждой буквой задается такая матрица
а при просмотре текст написан по кругу


 
ford ©   (2010-05-25 18:16) [3]

дайте плииз ссылку как с этой штукой работать
что то я ничего не могу найти нормального в инте :(


 
ford ©   (2010-05-26 13:31) [4]

нашел в описании PDF формата, что
x"=a*x+c*y+e
y"=b*x+d*y+f

где a,b,c,d,e,f соответсвенно из матрицы

вот кусок текста потока
"
q
0 0 841.89 1190.551 re
W n
BT
1 1 1  scn
/C2_0 1 Tf
0.02 Tc 13.56 0 0 12 104.2303 999.0885 Tm
<01FE01F201F801FB001D000301F101F201F801ED000301F5000301F8020B01F101F5>Tj
ET
"
где
q- запомнить текущие настройки графики в стек (что то типа такого)
0 0 841.89 1190.551 re - определяется прямоугольник, где параметры: x,y,width,height
W n - устанавливается clip для этого прямоугольника
BT - начало текста
1 1 1 устанваливается цвет
/C2_0 1 Tf - устанавливается шрифт С2_0 размером 1
0.2 Tc интервал для букв
13.56 0 0 12 104.2303 999.0885 Tm - вот эта дурацкая матрица

возникает вопрос, а для каких изначальных x и y расчитывать эту матрицу?
если взять предыдуший описанный прямоугольник с координатами (0,0,841.89,1190.551) то получается что текст должен вывестись в прямоугольнике (104.2303,999.0885,11516.1907,15785,7005)
но из начальных условий размер страницы на которую все это отображается
0.0 0.0 841.89 1190.55

:((((

может кто знает как мне рассчитать координаты прямоугольника в который надо вписать текст, подскажите на этом примере



Страницы: 1 вся ветка

Текущий архив: 2011.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
4-1252479375
d@vinchi
2009-09-09 10:56
2011.12.04
COM сервер в службе...


2-1313573567
2012
2011-08-17 13:32
2011.12.04
Проблема с чтением нетипизированного файла


2-1313755879
Cobalt
2011-08-19 16:11
2011.12.04
проверка строки на соответсвие маске


15-1313471235
Xmen
2011-08-16 09:07
2011.12.04
Интерфейс не поддерживается.


2-1313652737
Fr
2011-08-18 11:32
2011.12.04
Ошибка при вызове CreateProcess