我在 Windows 7 上使用 MikTex 2.9 生成 PDF。在 W7 上一切正常。在我安装了 CentOS 版本 5.2(最终版)的另一台计算机上,页码显示异常。在那台计算机上,我使用 Adobe Reader 版本 9.4.2 02/11/2011。下面的图片是页面导航工具栏上的示例:
这应该是第 A 页)
(这应该是第 3 页)
在我的文档中,我在开头包含 2 页 pdf(第 A 页和第 B 页)。接下来是 tex 生成的页面(第 1 至 17 页)。我的输入 tex 文档使用 Unicode 编码保存。
我知道这可能不是乳胶问题,但我可以做些什么来避免在 CentOS 版本的 Adobe Reader 上出现这些故障吗?
答案1
对我来说,页码似乎是 unicode 格式的,阅读器无法正确提取它们。如果您正在使用,hyperref
您可以尝试\usepackage[pdfencoding=auto]{hyperref}
。
答案2
您可能正在使用hyperref
带有该unicode
选项的包,例如:
\usepackage[unicode]{hyperref}
只需删除该unicode
选项,一切就都好了。请注意,您仍然可以使用 UTF-8 作为输入编码。
答案3
这可能是字体嵌入问题。如果您有权访问pdffonts
CentOS 上的工具,则可以在 pdf 上使用它来查看它使用的字体以及它嵌入的字体。您可能也可以使用 Acrobat Viewer 来执行此操作。
如果缺少一些,那么您可以配置 pdflatex(假设您正在使用它)来为您嵌入它们。我不确定在 Windows 上是否如此,但在 Linux 上,命令是
updmap --edit
在 Windows 上似乎
initexmf --edit-config-file updmap
然后找到pdftexDownloadBase14
并将其设置为 true。请务必检查该文件以确保它不会再次被关闭。
接下来的部分是厚颜无耻地从 Stack Overflow 问题的一个答案中摘录的如何在现有 PDF 中嵌入字体?。 Ghostscript 可用于重新处理 pdf 以包含缺失的字体。这样您就可以修复给您带来麻烦的现有 pdf 文件。
gs -sFONTPATH=/path/to/fonts:/another/dir/with/more/fonts -o output-pdf-with-embedded-fonts.pdf -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress input-pdf-where-some-fonts-are-not-embedded.pdf