微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复在Apache Tika for Python中解析的中文PDF以正确读取字符?

如何解决如何修复在Apache Tika for Python中解析的中文PDF以正确读取字符?

我有一个下载的中文PDF,我想使用Tika + Python提取文本(完整PDF的原始链接可以找到here,或者可以找到提取的样本页面{{3} }。

当我运行以下代码

analysed_file = 'D:\\5_Programming\\test.pdf'

# Parse data from file
file_data = parser.from_file(analysed_file,"http://localhost:9998/")

# Get files text content
text = file_data['content']
print(text)

在命令行中打印了空心框。当我复制这些框并在此处粘贴示例时,它看起来像

£Î £á £÷ £á £ú £¬ £ó £è £õ £ê £á ÄÇ Íß ×È £¬ Êæ ¼Ó

£Ï £æ £æ £é £ã £å £ò £¬ £Ì £® £È £® °Â ·Æ ɪ £¬ £Ì £® £È £®

£Ð £á £õ £ì £ó £¬ £Â £® £Ä £é £á £î £å ±£ ¶û ˹ £¬ £Â £® ÷ì °² ÄÈ

我使用拉丁字符创建了PDF,并使用完全相同的脚本对其进行了解析,并在命令行中将其打印得很好。

我在Acrobat中打开了文件以进行故障排除,并显示错误消息“找不到或创建字体[here]”。它还是garbled characters,如果不识别字体(displayed all characters as bullets),这就是它的明显行为:

但是,在Google Chrome PDF查看器中,整个文本为https://helpx.adobe.com/au/acrobat/using/pdf-fonts.html中文

Google Chrome有何不同之处,使它在Adobe Acrobat和Tika + Python中出现乱码时仍能被读取,我该如何用PDF修复此问题以允许Tika正确解析?是编码还是字体问题?我不直接关心它是否可以在Acrobat中正确打印。

解决方法

欢迎加入堆栈溢出协会。 可能没有在Adobe Reader中安装中文字体。 您可以从此link安装它们(滚动到名为Add-Ons的部分)。有两个可用的字体包。您可以尝试安装这些,让我知道如何进行。
问候,
拉维·阿罗拉(Ravi Arora)的《真正神奇的寡妇》

,

您可以将Apache Tika与作为docker镜像启动的Google Tesseract Parser一起使用-blog post

然后,您必须在tesseract中添加适当的语言:例如 tesseract-ocr-chi-sim(简体中文)。语言列表:list

pointClick

然后,您需要启用OCR(用于pdf解析)并将中文设置为语言:

chart.listen('pointClick',function(e) {});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。