我正在尝试解析一些包含工程图纸的 PDF 文件以获取文件中的文本数据。我尝试将 TIKA 用作 python 的 jar,并将其与 jnius 包一起使用(在此处使用本教程: http://www.hackzine.org/using-apache-tika-from-python-with-jnius.html ) 但代码会引发错误。
然而,使用 TIKA 包我能够传递文件并解析它们,但 Python 只能提取元数据,当被要求解析内容时,Python 返回输出“无”。它能够完美解析 .txt 文件,但无法提取 PDF 的内容。这是代码
import tika
tika.initVM()
from tika import parser
parsed = parser.from_file('/path/to/file')
print parsed["metadata"]
print parsed["content"]
我是否需要额外的包/代码线才能提取数据?
您需要先下载 Tika Server Jar 并运行它。检查此链接:http://wiki.apache.org/tika/TikaJAXRS
- 下载 jar
- 将其存储在某处并以
java -jar tika-server-x.x.jar --port xxxx
运行
- 在您的代码中,您现在不需要执行
tika.initVM()
添加 tika.TikaClientOnly = True
而不是 tika.initVM()
- 将
parsed = parser.from_file('/path/to/file')
更改为parsed = parser.from_file('/path/to/file', '/path/to/server')
您将在第 2 步中获得服务器路径。当 tika 服务器启动时 - 只需插入在这里
祝你好运!
我是一名优秀的程序员,十分优秀!