gpt4 book ai didi

html - 将 PDF 呈现为图像并提取超链接

转载 作者:可可西里 更新时间:2023-11-01 13:38:22 26 4
gpt4 key购买 nike

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

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

然后我在 HTML 文件中使用此图像(以便在自己的 wiki 引擎中包含 latex 代码)。

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

有没有可能提取超链接的坐标和目标 URL,这样我就可以构建一个 HTML image map

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

最佳答案

Imagemagick 使用 Ghostscript 将 PDF 文件渲染为图像。您还可以使用 Ghostscript 提取链接注释。事实上,为了 pdfwrite 设备的利益,PDF 解释器已经这样做了,因此它可以生成与原始文件具有相同超链接的 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,因为这种处理对于渲染设备通常是禁用的,因此无法使用它。

关于html - 将 PDF 呈现为图像并提取超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com