1

我在 Windows 7 32 位。当我解析俄语文本 PDF 时,我收到带有 ??? 的结果文件 而不是俄语字符。开发人员通过此修复解决了此问题

我有 ?在 Windows 上带有结果的字符。我怎样才能避免它?如果 PDF 的编码是 UTF-8,您应该在启动 Python 进程之前在终端上设置 chcp 65001。

chcp 65001

我在 windows cmd 中更改了它,但没有结果。

我的代码

import tabula


tabula.convert_into(r"C:\Code\Active\kartoteka\misc\ExampleExtract.pdf", r"C:\Code\Active\kartoteka\misc\output.csv", output_format="csv",pages = "all",java_options="-Dfile.encoding=utl-8")

错误日志:

?? 10, 2018 11:15:18 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2Font getawtFont
INFO: Can't read the embedded font Times-Roman
??? 10, 2018 11:15:18 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2Font getawtFont
INFO: Using font Times New Roman instead
??? 10, 2018 11:15:19 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2Font getawtFont
INFO: Can't read the embedded font Times-Roman
??? 10, 2018 11:15:19 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2Font getawtFont
INFO: Using font Times New Roman instead

我生成的文件仍然显示所有俄语字符 ??????? 你如何解决这个问题?

这就是原始 PDF 的外观。 在此处输入图像描述

4

1 回答 1

0

注意事项:我的评论是关于从 PDF 中正确提取文本的能力,而不是特别是 tablula-py,但希望这可以帮助您确定问题出在您的 PDF 还是您的 PDF 软件上。

很难在没有看到的情况下评论您正在查看的文件,但一个好的起点是尝试 Acrobat,通过复制文本并将其粘贴到文本编辑器或搜索文本内容将显示它是否可以提取正确与否。

如果无法正确提取,则该字体很可能缺少 ToUnicode 条目(有关更多信息,请参阅 ISO PDF 32000-1:2008 规范的第 9.10.1 节)。

如果 Acrobat 可以正确提取文本,则您使用的 PDF 软件可能存在问题。

于 2018-08-10T22:23:05.353 回答