使用 Ghostscript 处理 PDF 后本地超链接损坏

使用 Ghostscript 处理 PDF 后本地超链接损坏

我通常tex使用以下方法压缩 PDF ghostscript

pdflatex -shell-escape file.tex

gs -sDEVICE=pdfwrite        \
   -dCompatibilityLevel=1.4   \
   -dPDFSETTINGS=/prepress      \
   -dNOPAUSE -dQUIET -dBATCH      \
   -sOutputFile=file_compressed.pdf \
    file.pdf

通常情况下,这种方法很有效,但如果我有指向本地文件的相对链接,那么这些链接之后就不起作用了。

最小示例:

\documentclass{beamer}
\usepackage{hyperref}

\begin{document}
    \begin{frame}
        \href{run:./audio.mp3}{test}
    \end{frame}
\end{document}

链接在 中有效file.pdf,但在 中无效file_compressed.pdf。是否有任何pdflatexghostscript设置可以在压缩版本中保留链接?

我使用 Acrobate Reader 10.1.14 进行查看,在 OS X 10.9.5 上使用 Ghostscript 9.10 和 pdfTeX 3.14159265-2.6-1.40.15(TeX Live 2014)。


更新:超链接的中断与压缩PDF。损坏发生在全部重新处理输入 PDF 中包含超链接的 PDF。

答案1

使用 Ghostscript 选项“ -dPrinted=false”或 hyperref 选项“pdfa”: \usepackage[pdfa]{hyperref}

您可以在这篇文章中找到更多信息:

设置带有 hyperref 的链接上的打印标志,以便使用 ghostscript >= 9.25 保留它们

相关内容