0

我正在尝试阅读印地语 PDF 的内容。我已经使用itext7库来阅读 PDF 文件。

它适用于英语 PDF 并获得确切的字符但是当我尝试使用任何印地语(本地)语言 PDF 时,值的格式不可读。

我得到文本的不可读格式

d d d daaaah h eeh h ee aaaa  

这是明智地阅读 PDF 页面的示例代码。

val pdfReader = PdfReader("pdfPath")
            PdfDocument(pdfReader).use { doc ->
                pdfContent = PdfTextExtractor.getTextFromPage(doc.getPage(1))
            }
            pdfReader.close()

我是否需要将语言参数传递给 itext7 库才能获得确切的内容?

4

1 回答 1

1

您的示例 PDF 中印地语字形的字体对象明确声称这些字形对应于用于文本提取的拉丁 Unicode 字符:

PDF调试器屏幕截图

因此,文本提取器为这些印地语字形提取拉丁 Unicode 字符是完全正确的。

即使查看嵌入式字体程序(超出常规文本提取)也没有改善这种情况,嵌入式字体程序也映射到拉丁 Unicode 字符,只是不同的字符:

字体锻造屏幕截图

因此,对于这样的 PDF,您应该尝试OCR而不是text extract

于 2021-01-18T12:31:24.987 回答