首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复在Apache Tika for Python中解析的中文PDF以正确读取字符?

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

Stack Overflow用户
提问于 2020-09-07 14:58:58
回答 2查看 535关注 0票数 0

我有一个下载的PDF在中国,我想提取文本从使用提卡+ Python (原始链接到完整的PDF可以找到here,或提取的样本页面可以找到here)。

当我运行以下代码时

代码语言:javascript
复制
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)

它在命令行中打印了中空框。当我复制这些盒子并在这里粘贴一个样本时,它看起来像

代码语言:javascript
复制
£Î £á £÷ £á £ú £¬ £ó £è £õ £ê £á ÄÇ Íß ×È £¬ Êæ ¼Ó

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

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

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

我在Acrobat中打开该文件进行故障排除,它给我的错误信息是“无法找到或创建字体[garbled characters]”。如果它不识别字体(https://helpx.adobe.com/au/acrobat/using/pdf-fonts.html),它也会出现displayed all characters as bullets:

​

​

然而,在Google Chrome PDF查看器中,整个文本都是displayed correctly的中文。

​

​

在Adobe Acrobat和Tika + Python中出现乱码时,Google Chrome有什么不同的做法可以读取它,我如何解决这个问题以允许Tika正确解析它?是编码问题还是字体问题?我并不直接关心它在Acrobat中的正确打印。

EN

回答 2

Stack Overflow用户

发布于 2020-09-07 15:11:45

欢迎来到Stack Overflow社区。Adobe Reader中可能未安装中文字体。您可以从此link安装它们(滚动到名为Add-Ons的部分)。有两个可用的字体包。您可以尝试安装这些,并让我知道这是如何进行的。

致以敬意,

由Ravi Arora创作的令人惊叹的视频

票数 0
EN

Stack Overflow用户

发布于 2020-09-25 18:45:37

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

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

代码语言:javascript
复制
docker exec -it tika-server-ocr /bin/bash
apt-get update
apt-get install tesseract-ocr-chi-s

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

代码语言:javascript
复制
curl -H "X-Tika-PDFextractInlineImages: true" -H "X-Tika-PDFocrStrategy: OCR_ONLY" -H "X-Tika-OCRLanguage: chi-sim"  -T test.pdf localhost:9998/tika
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63772739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档