【问题标题】:Extract number of pages from PDF files从 PDF 文件中提取页数
【发布时间】:2021-06-04 08:22:13
【问题描述】:

我们正在尝试使用xdmp:document-filter 函数来提取有关 PDF 文件的元数据,特别是我们想知道 PDF 中的页数。似乎目前 MarkLogic 无法检索 PDF(或 Word 文档)的此信息,但能够获取 PowerPoint 的幻灯片数量。也许有一个隐藏的选项?

https://docs.marklogic.com/guide/search-dev/binary-document-metadata#id_98155 https://docs.marklogic.com/xdmp:document-filter

在某些阶段,我们可能还希望从音频文件 (MP3) 中提取元数据,例如以秒为单位的持续时间和立体声/单声道。这有可能吗?

【问题讨论】:

  • 恐怕您可能需要更专业的工具(例如 PDFBox for PDF)来进行更精细的元数据提取。
  • 如果当前提取器中缺少有用的功能,您应该联系 MarkLogic 支持和/或您的销售客户主管并告知他们,并提交增强请求。同时,Apache TIKA tika.apache.org 等外部工具可能是您的最佳选择。
  • 是的,这仍然是一个选项,我们已经考虑过了。现在,我们将按照@davidennis 的建议继续使用转换功能。您的建议要轻松得多,但我们需要集成第三方工具。在我们的情况下,我们发现使用 MarkLogic 的内置功能有一点优势。

标签: marklogic


【解决方案1】:

请注意,在从文件中提取时,Marklogic 中有两种方法:

  1. xdmp:document-filter() 正如您已经了解的那样。

  2. 提供 xdmp:xxx-convert() 函数的永久捆绑文档转换库

对于第二个选项,有一个完全不同的引擎,其中一个选项是为每页生成一个 xhtml 文档。我建议您使用xdmp:pdf-convert() 探索选项

这可能会产生在系统中创建多个文档的意外效果,但是一旦您完成并尝试了各种选项,它仍然可以满足您的目的。返回的第一个节点是清单,因此如果您按页面提取,它可能有足够的信息来计算页面。诀窍是获得您需要的信息,而无需提取不需要的项目的开销。如果这有帮助,那么您还可以探索同一家族中的其他转换函数,例如 for word。

【讨论】:

  • 你说得对,我们选择了将文档转换为 HTML 的路径,而不是计算单个页面节点。这是一个kludge,但它的工作原理。感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
相关资源
最近更新 更多