【发布时间】:2014-03-24 11:31:38
【问题描述】:
我正在使用 doxygen 与 MiKTex 和 ghostscript 来创建文档 PDF。这些 PDF 的 git 推送到我的 github 仓库。但是,如果它们随后再次被拉回(例如在另一台 PC 上),它们将无法正确打开,因为 Adobe 警告它无法正确提取嵌入的字体。
我发现这可能与 GitHub 传输有关当它应该是二进制时被错误地编码为ASCII。
我该如何解决这个问题,以便从 GitHub 存储库中提取 PDF 时正确打开? 目前我的 IDE (eclipse) 将 PDF 文件的编码设置为 UTF-8,是否应该更改?
【问题讨论】:
-
您是否打开了
core.autocrlf?该设置将不可逆转地破坏 Git 错误地认为是纯文本的任何二进制文件。 -
我确实打开了它以尝试修复 gitignore 和 bat 文件中的换行符的删除,当然,如果没有换行符,它就不能很好地工作。我应该如何协调某些文件需要 autocrlf 而其他文件不需要?
-
好的,我添加了一个带有
*.pdf binary的 .gitattributes 文件,但没有变化:( -
您应该使用新的
.gitattributes设置强制更新这些 PDF 文件,并在另一台机器上执行相同操作 - 即强制签出文件从远程获取后进入工作树。不,UTF-8 是 PDF 的无效编码:这些是 7 位 ASCII 严格文件,必须被解释为二进制文件。 -
好的,所以我将 IDE 设置为将 pdf 编码为 ISO-8859(那是 ASCII,对吗?)按照 gitsttributes 上的 github 指令进行行尾和重新规范化,然后推送到 github 并在另一台机器上做了一个干净的克隆......在其他文本文件中已经解决了一些 linendings 但 PDF 仍然给出关于嵌入字体的相同错误.. grr
标签: git pdf github doxygen ghostscript