4

我試圖從PDF中提取文本。 PDF包含印地文(Unicode)文本。我正在使用的提取實用程序是Apache PDFBox(http://pdfbox.apache.org/)。提取器提取文本,但文本不可識別。我嘗試在許多編碼和字體之間進行更改,但預期的文本仍然無法識別。 這裏有一個例子:在PDF 說文字是:पवार
什麼樣子後提取:̄Ö3/4ÖÖü如何處理將文檔從PDF轉換爲文本時的Unicode字符編碼問題

有什麼建議嗎?

+0

你能分享一個這樣的文件的鏈接? – Bobrovsky

+0

@Prakash我也在研究相同的概念。是否需要找到解決方案? –

回答

3

PDF是 - 其核心 - 打印格式,因此將文本記錄爲一系列可視字形,而不是實際文本。最初它從來沒有作爲一種數字檔案格式,並且仍然在許多文件中顯示。複雜的腳本,如阿拉伯語或印度語腳本,需要字形替換,結紮和重新排序,基本上,你經常會陷入混亂。你通常會得到的是在嵌入字體中使用的字形ID,這些字體與Unicode沒有任何相似之處或實際的文本編碼(字體表示字形,其中一些可能映射到Unicode代碼點,但有些只是需要用於字體內部使用,例如基於上下文或連字的字形變體)。您可以看到LaTeX生成的PDF,特別是非ASCII字符和數學。

PDF還具有將文本作爲文字嵌入到視覺表示中的功能,但這完全取決於生成應用程序的判斷。我聽說Word在生成PDF時非常努力地保留這些信息,但許多PDF生成器不會(它通常對拉丁文有用,這可能是爲什麼幾乎沒有人會困擾)。

如果PDF沒有可用的純文本,我認爲對您來說最好的辦法是將PDF上的OCR作爲圖像。

+0

謝謝喬伊。我會嘗試OCR,但是,有沒有我可以用來識別PDF編碼的在線應用程序 –

+0

正如我在我的回答中所說的,沒有編碼。 PDF通過在頁面上放置字形來指定文檔的外觀。在這個階段沒有機器可讀的文本,除了少數情況下,例如ASCII或Latin-1文本,它通常會經過非加密處理。就好像你會在打卡上寫文本,並希望計算機讀取你的書面文本,儘管你在卡上打了一個洞。 – Joey