2012-06-05 44 views
1

如何計算PDF文檔中的領先地址?如何計算PDF文檔中的領先地址

例如:

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

這使得該文本的Hello WorldTimes-Roman 48pt/57.6pt(120%線高度)。

按照PDF Reference手冊「的龍頭參數在未縮放文本空間單位計量。它指定相鄰文本行的基線之間的垂直距離......的數量在文本空間中的單元的千分之一表示「。

有人能解釋一下如何與1.107557.6有關嗎?

+0

你從哪裏得到120%,爲什麼你用48乘以57.6? Tm操作符將字體大小(由Tf設置)縮放爲48,但您的代碼段不顯示Tf操作符的操作數。 – iPDFdev

+0

文本是單間隔(120%)。字體是'Type 1',並且沒有嵌入。 「1.1075」似乎與其度量文件中標識的高度有關:「FontBBox -167 -229 1009 878」這是正確的嗎? – xpsd300

回答

-1

龍頭通常是由指令TL的PDF設置,就像這樣:

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 

此代碼集文本座標系(商標命令):

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

然後,它的移動位置,下一行。下一行1.1075「文字」像素。然後在y座標上移動-1.1075「text」像素的起始位置。這個例子中的文本像素是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