3

如何检测文档中的图像,例如 doc、xls、ppt 或 pdf ?

我遇到了 Apache Tika,我正在尝试它的命令行选项。 http://tika.apache.org/1.2/gettingstarted.html

但不太确定它将如何检测图像。

任何帮助表示赞赏。

谢谢

4

2 回答 2

3

你说过你想使用命令行解决方案,而不是编写任何 Java 代码,所以这不是最漂亮的方法......如果你愿意写一点 Java,并创建一个从 Python 调用的新程序,那么你可以做得更好!

首先要做的是让 Tika App 提取文件中的所有嵌入资源。使用此--extract选项,并在您应用控制的特殊临时目录中进行提取,例如

$ java -jar tika.jar --extract ../testWORD_embedded_pdf.doc
Extracting 'image1.emf' (application/x-emf)
Extracting '_1402837031.pdf' (application/pdf)

如果可以,请获取提取的输出,然后解析该输出以查找图像(但请注意,某些图像application/在其标准 mimetype 上具有前缀!)。您可能需要在几个上运行第二个 --detect 步骤,我不确定,测试解析器如何进行提取。

现在,如果有图像,它们将在您的测试目录中。根据需要处理它们。最后,当你完成文件时,zap 临时目录!

于 2012-08-14T15:25:58.337 回答
0

过去使用过 Tika,我看不出 Tika 如何帮助处理嵌入在 Office 文档或 PDF 中图像 Tika 确实使用这两个库来解析文本和元数据,但不支持嵌入式图像。

使用 Tika 使这些 API 自动可用(使用 Tika 的副作用)。

更新: 从 Tika 0.8 开始:寻找EmbeddedResourceHandler和示例 - 感谢 Gagravarr。

于 2012-08-13T18:49:53.407 回答