29

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

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

4

4 回答 4

14

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

PDFMiner:http ://www.unixuser.org/~euske/python/pdfminer/index.html

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

从网站:

转储pdf文件

dumppdf.py 以伪 XML 格式转储 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)
于 2010-03-24T23:13:41.240 回答
11

我试过dump.pdf -T了,但它不适用于某些 PDF 文件。

MuPDF 还有另一个名为 的工具mutool,我刚刚找到。我不知道这是否比 dump.pdf 更好,但处理 PDF 文件 dump.pdf 会引发错误。

以下是使用 mutool 提取 TOC 的方法

mutool show {your-pdf-file} outline

MuPDF

于 2016-05-06T13:19:44.107 回答
3

Alternatively, you can use MuPDF which is a pretty lightweight but complete PDF implementation written C. In the apps/ subdirectory you will find some tools which can view, dump and extract information from PDF files. I'd prefer MuPDF over xpdf because it is actively maintained and has better PDF support.

Otherwise, there's always Poppler which is actually based upon xpdf. The developers ported its code to C++. Hence, it's performs worse than its predecessor. Compared to MuPDF, Poppler seems to have slightly more features, but in return the code is much more complex.

For your purposes MuPDF should be sufficient though. You could hack together a simple application from the example code provided in apps/ that extracts all the information you need without relying on external applications.

于 2010-03-31T01:58:22.200 回答
0

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

这篇 StackOverflow 帖子还有更多解决方案。

希望这可以帮助。

于 2010-03-24T06:38:28.433 回答