Форум: "Основная";
Текущий архив: 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