如何使用 pdfpages 和 Xe(La)TeX 检查和修复无法正确包含的 PDF 文件?

如何使用 pdfpages 和 Xe(La)TeX 检查和修复无法正确包含的 PDF 文件?

我目前正在撰写我的硕士论文,因此我从之前用于学术文本的 pdfLaTex 切换到 XeTeX,因为它简化了工作流程并支持 unicode。我在 Windows 下运行 MiKTeX,但很难包含一个特定的 PDF。我已经可以毫无问题地包含其他 PDF 文件,但最后一个让我抓狂。这是我的大学提供的作者声明。可以在这里。请注意,当我使用 pdfLaTeX 构建项目时,包含此 PDF 可以正常工作。但是当使用 XeLaTeX 构建时,仅包含空白页。

因此我开始在网上搜索一些有用的信息,并想出了一些解决方案,但到目前为止都没有奏效。所以让我解释一下我已经尝试过的方法。

第一次尝试:重建 PDF

首先,我尝试使用 GhostScript 重建 PDF,如下所述这里。基本上我运行了以下代码:

pdf2ps auth_statement.pdf auth_statement.ps
ps2pdf auth_statement.ps auth_statement_new.pdf

这有效,但是包含新生成的 PDF 时字体完全乱了。变音符号根本不起作用。我还尝试ps2ps在两者之间运行,如链接答案中所建议的那样,但这会产生一个 0 字节文件。

第二次尝试:pdfLaTeX + XeLaTeX

因此我开始编写 MWE,并想出了将 PDF 包含到一个简单的文档中,用 pdfLaTeX 编译并在我的实际论文中使用此输出的想法。这可行,但不知何故影响了我的论文的构建。一切运行正常,我没有收到任何错误,但最终的 PDF 文件在构建过程后立即被删除。

现在我已经没有主意了。你知道如何检查导致 PDF 被错误包含的原因吗?我还应该/可以尝试什么?

这是我的 MWE:

\documentclass[
    11pt,          % 11pt, 12pt
    a4paper,       % a4wide
]{scrreprt}

\usepackage{pdfpages}

\begin{document}
\includepdf{auth_statement.pdf}
\end{document}

使用 pdfLaTeX 编译时可以正常工作,但使用 XeLaTeX 编译时则不行。我将上面链接的 PDF 重命名为auth_statement.pdf

提前致谢!

答案1

我终于解决了这个问题。@UlrikeFischer 的评论为我指明了正确的方向。事实上,PDF 似乎以某种方式被加密了。我不知道为什么 pdfLaTeX 会毫无问题地接受它,也不知道为什么我的日志中根本没有关于加密的提示。

我发现这个答案,建议使用PDF工具包。我尝试用原始 PDF 执行此操作,但由于缺少密码而失败。因此,我尝试用第二次尝试得到的 PDF 执行此操作,并将其用作我的论文的输入。这终于成功了。

相关内容