Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.12.04;
Скачать: [xml.tar.bz2];

Вниз

текст из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1313053263
Псарь
2011-08-11 13:01
2011.12.04
Где взять Twitter API для Delphi?


15-1313166354
ПЛОВ
2011-08-12 20:25
2011.12.04
Автотестирование ПО - что почитать?


2-1313774122
Sega625
2011-08-19 21:15
2011.12.04
record в array of byte


8-1220146711
Agent[007]
2008-08-31 05:38
2011.12.04
max to 3ds


2-1312987253
kalten
2011-08-10 18:40
2011.12.04
назначение горячих клавиш





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский