3

我使用 imagemagick 将 PDF(由 pdfLaTex 生成)呈现为图像:

convert -density 120 test.pdf -trim test.png

然后我在一个 HTML 文件中使用这个图像(为了在自己的 wiki 引擎中包含乳胶代码)。

但当然,PNG 文件没有 PDF 文件包含的任何超链接。

是否也有可能提取超链接的坐标和目标 URL,以便我可以构建 HTML图像映射

如果它有所作为:我只需要外部 (http://) 超链接,不需要 PDF 内部超链接。像这样的基于文本的解决方案pdftohtml是不可接受的,因为 PDF 也包含图形和公式。

4

2 回答 2

2

Imagemagick 使用 Ghostscript 将 PDF 文件呈现为图像。您还可以使用 Ghostscript 来提取链接注释。事实上,PDF 解释器已经这样做是为了 pdfwrite 设备的好处,因此它可以生成与原始文件具有相同超链接的 PDF 文件。

您需要进行少量 PostScript 编程,如果您需要更多详细信息,请告诉我。

在 gs/Resource/Init 中,文件 pdf_main.ps 包含 PDF 解释器的大部分内容。在那里你会发现这个:

  /Link {
    mark exch
    dup /BS knownoget { << exch { oforce } forall >> /BS exch 3 -1 roll } if
    dup /F knownoget { /F exch 3 -1 roll } if
    dup /C knownoget { /Color exch 3 -1 roll } if
    dup /Rect knownoget { /Rect exch 3 -1 roll } if
    dup /Border knownoget {
....
    } if
    { linkdest } stopped 

该代码处理链接注释(PDF 文件中的超链接)。您可以将“linkdest”替换为 PostScript 代码,以将数据写入文件,从而为您提供超链接。请注意,您还需要在命令行上设置 -dDOPDFMARKS,因为这种处理通常对无法使用它的渲染设备禁用。

于 2012-05-15T07:07:21.950 回答
0

我的同事发现了一个不错的库 PDFMiner,其中包括一个tools/dumppdf.py我需要的功能,请参阅http://www.unixuser.org/~euske/python/pdfminer/

还有另一个 SO 问题对此有答案,请参阅寻找 linux PDF 库以从 PDF 中提取注释和图像 显然 Ruby 的 pdfreader 也可以这样做https://github.com/yob/pdf-reader

于 2014-09-29T06:45:00.197 回答