2012-02-17 31 views
0

我有相同的代碼如何從PDF計算字體大小在PHP

q 
0 0 283.465 170.079 re 
W n 
BT 
1 0 0 0 k 
/GS0 gs 
/C2_0 1 Tf 
10 0 0 10 143.4331 134.0855 Tm 
<01F60218020B020802150210020F0208021E02100227>Tj 
ET 
Q 

如何計算fontSize的供/ C2_0 1 TF?

我需要示例,如果posible。 如果問題有誤,我的英語不好,然後抱歉。

+0

Postscript語言參考:http://partners.adobe.com/public/developer/en /ps/PLRM.pdf – 2012-02-17 14:14:06

回答

0

1.

/C2_0 1 TF

該命令集的字體爲1角

2.

10 0 0 10 143.4331 134.0855的Tm

這個命令縮放通過10倍在x方向上在y方向上的當前變換矩陣,10和平移/移動到原點x = 141,4331,y = 132.0855。所以基本上你的字體縮放到10 pt(141,4331,132.0855)。

下面是http://www.mactech.com/articles/mactech/Vol.15/15.09/PDFIntro/index.html附近頁面底部的示例。

3 0 obj 
<< 
/Length 168 
>> 
stream 
BT 
/F4 1 Tf 
12 0 0 12 50.64 731.52 Tm 
0 0 0 rg 
BX /GS2 gs EX 
0 Tc 
0 Tw 
[(This is 12-point)10(T)41(imes.) 
    18(This sentence will appear near 
    the top of page one.)]TJ 
ET 
endstream 
endobj 

「的流對象(它是168個字節長)由BT和ET運營方括號內的,用於開始文本和結束文本。tf命令選擇我們的字體及在用戶空間單元的尺寸,這是給定爲1「但是我們不是使用12點類型嗎?」你可能會想知道,是的,我們是這樣,它在下一行指定,以Tm​​結尾(這是set-text-matrix運算符)。空間的原因,我們在這裏不會多說關於座標系變換和矩陣的內容,但是如果你熟悉PostScript中矩陣的使用,那麼相同的規則也適用於PDF。一個變換矩陣由六個數字組成,第一個和第四個分別決定x和y的縮放比例我們在文本矩陣中看到比例因子是12這意味着我們將使用12點類型最後兩個數字在矩陣(50.64和731.52)中以用戶空間單位指定翻譯。翻譯的效果是將頁面上的文字大約10.1英寸,左邊距0.7英寸。「

+0

是的,我正在考慮這個選項。但我很困惑的是,我們在用戶空間中執行的所有計算。該文件表示,他仍然必須使用矩陣轉換設備空間中的所有計算值。即使所有原始附記示例的文檔都是如此。我們只描述從用戶空間到設備空間的座標轉換公式 – org 2012-02-20 08:16:24

+0

我認爲這是真的嗎? :我們不需要將用戶空間的字體大小轉換爲設備空間。因爲我們使用值(磅)的字體大小。 總計:公式是: 縮放矩陣[Sx 0 0 Sy 0 0] = [1 0 0 1 0 0] * Tm [abcdef] realFontSize = fontSizeScaledFactor * Scaledy – org 2012-02-20 08:21:09

+0

但是我能做些什麼來計算字體設備空間大小? – org 2012-02-20 08:23:32

0

是你的意思嗎?

font -/F1 12 Tf:應用Tf操作符,它設置字體名稱和字體大小。的字體是F1作爲資源定義,與大小12.

Introduction to PDF

+0

這是我的pdf文檔中的實例:/ C2_0 1 Tf。FontSize = 1 ?? – org 2012-02-17 14:21:07

+0

是的,這個數字是爲FontSize設置的,嘗試增加它,字體會變大 – yen1k 2012-02-17 14:27:28

+0

不正確! (fontSize> 10 pt – org 2012-02-17 14:30:37