Php 提取PDF的TOC?

Php 提取PDF的TOC?,php,pdf,xpdf,Php,Pdf,Xpdf,在SWFTools和XPDF的帮助下,我正在将pdf提取到图像/swf和文本中。。我正在PDF脚本中运行这些 但现在我想进一步尝试从PDF中获取TOC,是否可以提取这些信息?我认为查看将是一个非常好的开始。如果向下滚动,您将看到大量用户发布的解决方案,用于将PDF转换为HTML或PDF转换为文本。转换后,一个相对简单的匹配函数可以提取标记的TOC项,并将它们放入一个数组中,然后您可以随意操作该数组 还有更多的解决方案 希望这能有所帮助。我通过一点搜索找到了这个。看起来很有希望 PDFMiner:

在SWFTools和XPDF的帮助下,我正在将pdf提取到图像/swf和文本中。。我正在PDF脚本中运行这些

但现在我想进一步尝试从PDF中获取TOC,是否可以提取这些信息?

我认为查看将是一个非常好的开始。如果向下滚动,您将看到大量用户发布的解决方案,用于将PDF转换为HTML或PDF转换为文本。转换后,一个相对简单的匹配函数可以提取标记的TOC项,并将它们放入一个数组中,然后您可以随意操作该数组

还有更多的解决方案


希望这能有所帮助。

我通过一点搜索找到了这个。看起来很有希望

PDFMiner:

注意:该工具是基于Python的,但是您应该能够通过shell访问使用该工具。或者,您可以从源代码本身收集一些有用的信息,因为项目是开源的

从网站:

dumppdf.py

dumppdf.py以伪XML格式转储PDF文件的内部内容。此程序主要用于调试目的,但也可以提取一些有意义的内容(如图像)

示例:


或者,您也可以使用C编写的非常轻量级但完整的PDF实现。在
apps/
子目录中,您可以找到一些可以查看、转储和提取PDF文件信息的工具。我更喜欢MuPDF而不是xpdf,因为它是主动维护的,并且有更好的PDF支持

否则,总会有一个真正基于xpdf的。开发人员将其代码移植到C++。因此,它的性能比它的前身差。与MuPDF相比,Poppler似乎有更多的特性,但作为回报,代码要复杂得多


不过,出于您的目的,MuPDF应该足够了。您可以从
apps/
中提供的示例代码中拼凑出一个简单的应用程序,该应用程序可以提取您所需的所有信息,而无需依赖外部应用程序。

我尝试了
dump.pdf-T
,但在某些pdf文件上无法使用

MuPDF中还有另一个工具名为
mutool
,我刚刚找到了它。我不知道这是否比dump.pdf好,但处理pdf文件dump.pdf会抛出一个错误

下面是如何使用mutool提取TOC

mutool显示{您的pdf文件}大纲


+1,我也很高兴看到如何做到这一点。如果你想用第三方应用程序做到这一点,那么我可以推荐具有“目录”导出功能的应用程序。经过进一步调查,我自己可以找到一些非常有用的应用程序+1致Yusuke Shinyama和PDFMiner团队的其他成员!谢谢,我去看看。。但是它是否也在XML中生成TOC呢。。ass现在我已经使用XPDF和PDF2SWF来获取内容:)但是对于TOC没有选择我想我不确定你在问什么。第二个“示例”行声称专门将TOC转储到XML文件中,您可以以任何适合您的方式解析该文件。我自己没用过这个工具,听起来它能完成你想做的事情。啊,抱歉我错过了它^^我会尝试一下,或者mupdf
dumppdf-t file.pdf | grep\n我已经在使用XPDF pdf2txt了。。。但你会怎么匹配这个呢?ToC通常是手工创建的。。而且信息需要在pdf中的某个地方。。(因为他们可以有侧面板)只有在人们没有必要的专业工具自动创建TOC时,才应该手动创建TOC。如果自动完成,TOC中的项目将被标记为书签(我认为这就是您所指的“侧面板”),并链接到它们的页面,因此更容易匹配。如果它们是手工完成的,那么它们与PDF中任何地方的任何其他文本块都没有什么不同,要让脚本成功匹配它们几乎是不可能的。谢谢,我也会尝试一下^^
$ dumppdf.py -a foo.pdf
(dump all the headers and contents, except stream objects)

$ dumppdf.py -T foo.pdf
(dump the table of contents)

$ dumppdf.py -r -i6 foo.pdf > pic.jpeg
(extract a JPEG image)