2013-05-08 165 views
2

我生成一個PDF,我輸出一些文字,如:如何在PDF中設置水平或垂直對齊文本?

BT 
    /F1 7 Tf 
    586 406 Td 
    (Date Shipped:) Tj 
ET 

快速底漆上PDF programming language

  • BT開始文本塊
  • /F1 7 Tf選擇字體#1(在我的情況下是Helvetica),並使用字號7
  • 586 406 Td移動當前位置開始到(x = 586 PT,Y = 406 PT)
  • (Date Shipped:) Tj呈現文本Date Shipped:
  • ET端文本塊

即文本現在總是呈現在位置(586,406),其中文本塊的底部左邊在該l ocation:

enter image description here

是點定義頂部中心點:

enter image description here

,因爲我不知道該呈現的文本的大小 ;我不能簡單地上/下/左/右嘗試彌補它的東西。

如何在PDF中指示一些文字的「對齊」

+2

你不能。 PDF製作軟件需要知道字體指標才能生成格式化的輸出。如您所知,您選擇了7號大小的Helvetica,並且您還知道當前字符和字間距值,您可以輕鬆計算呈現文本的大小。您可能需要閱讀PDF規範(可在此處獲得)(http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf)),特別是關於文本渲染的章節。 – mkl 2013-05-08 23:46:06

+0

標準14種字體的字體指標可在此處找到(http://www.adobe.com/devnet/acrobat/wwdistiller.html)。 – mkl 2013-05-09 00:15:16

+0

@mkl Put *「你不能」*以答案的形式:你自己接受了。 – 2013-05-10 14:38:22

回答

1

你不能。 PDF製作軟件需要知道字體指標才能生成格式化的輸出。

如您所知,您選擇了7號大小的Helvetica,並且您還知道當前字符和字間距值,因此您可以輕鬆計算呈現文本的大小。

標準14種字體的字體指標可用here

您可能需要閱讀PDF規範(提供here),特別是關於文本渲染的章節。

+0

當字體不在該列表中時(例如Arial),我不知道字體指標。接受爲*不可能*。 – 2013-05-10 15:43:59

+0

其他字體的度量標準要求您解析三個字體文件。 – mkl 2013-05-10 15:48:32

+0

在有關鏈接的pdf規範中,我發現了一些關於佈局屬性的內容(在「TextAlign」上搜索),但根據我的理解,它只是一種類似於註釋的內容,不會改變文本在頁面上的呈現方式,編輯/轉換軟件。 如果我錯了,請糾正我。 – Jakub 2013-06-21 05:46:45