要跟進我的意見,這是相當典型的原始PDF文本輸出樣子 - 在PDF參考指南16 V4 1213頁的癟部分:
36451 0 obj % Contents
% used filter: FlateDecode
/GS2 gs
BT
/F1 1 Tf
8 0 0 8 297.417 105.667 Tm
0 0 0 1 k
0 Tc
0 Tw
(1213) Tj
/F5 1 Tf
24 0 0 24 253.784 617 Tm
[ (C) 19.1 (olophon) ] TJ
/F3 1 Tf
10.505 0 0 10.505 136.5 566 Tm
-0.0014 Tc
0.2018 Tw
[ (This do) -10.1 (c) -7.2 (u) -0.3 (men) 17.6 (t) -1.4 (was p) 10 (r) 11.9 (o) -10.1 (d) 10.8 (uce) -7.2 (d) -1.3 (usin) 6.6 (g) 36.5 (A) 24.6 (d) 0.9 (o) 3.8 (b) -10.1 (e) ] TJ
8.4 0 0 8.4 326.25 570.2 Tm
0 Tc
..幾百更多的線條被省略了。一些興趣點:Tf
設置文本字體(在其他地方定義,並可能有自定義編碼 - 並非總是ASCII)。 Tj
'顯示'文字; Tm
以「當前單位」設置變換矩陣。在不知道兩者的實際大小的情況下,立即看到「Colophon」文本是否緊跟在「1213」之後是不可能的。 Tc
和Tw
設置默認字符和字間距,並經常被濫用來插入'空格'。雖然不在這裏; TJ
數組指定文本片段與散佈字距值(我猜,根據他們的位置)。
這是不可能確定這個單一的文本行本身是一條線,或者是一個較長段落的一部分。甚至不可能確定它是否是正確的字符串 - 您需要比較其左邊和右邊的其他行以找出。
(此輸出與PDF閱讀我寫我自己從頭開始,使用上述基準,而不是更多的創建。)
正如你所看到的,只是發現文本是一個挑戰,雖然有圖書館在這方面或多或少是成功的。 沒有他們 - 如果我是正確的 - 吹噓能夠編輯「任何PDF」。
也許[this](http://stackoverflow.com/a/9393318/1255746)很有幫助。 –
嗯...我將在稍後更新問題,指出格式應該保留在編輯的行內。但首先,你的建議是否保持格式? – tiredone
也許我從錯誤的角度來看待問題,並應該操縱其他標準類型的文檔文本(如Microsoft Word或Libre Office的XML格式),然後將其導出爲PDF,但最好的庫是爲了什麼(即說XML/HTML5爲PDF)? – tiredone