有没有使用 MiKTeX 生成 PDF/A-1b 的有效解决方案?

有没有使用 MiKTeX 生成 PDF/A-1b 的有效解决方案?

我读过很多关于使用 LaTeX 和 pdfTeX 制作 PDF/A-1b 的有趣问题和答案。但我仍然无法制作出有效的 PDF/A-1b 文件。

我使用了以下任一方法:

  • 标准最新pdfx
  • 或“改进” pdfx-扩展名版本,
  • pdfx.sty或者两年前由 Vincent Immler编辑的,(见这里 以及附件样本)。

我没有遇到编译错误,并且验证了约韦 总是有效

但是文件验证失败:

由于我无法pdftex按照 Vincent Immler 的建议进行修补,因此我设法通过使用或实用程序tex.stackexchange.com的二进制替换来修复在上的几篇文章中报告的 EOL 问题,以模仿补丁中所做的更改。x32x0agsar

然而错误信息:

The separator before 'endstream' must be an EOL.

仍然存在,进一步的错误消息看起来是总体失败的结论。

  • 有人成功修补了 MiKTeX 的 pdftex 吗?
  • 此补丁能修复所有EOL问题(包括一个endstream)吗?
  • 是否有“仅限包”的解决方案?

我在 Windows XP Pro x32 (SP3) 和 Windows Seven Family Premium x64 (SP1) 上都使用 MiKTeX v 2.9 (pdftex 版本 3.1415926-2.5-1.40.14)

答案1

答案于 2016 年 11 月 10 日以评论形式发布:

最后,使用最新版本的 MiKTeX(pdfTeX,版本 3.14159265-2.6-1.40.16(MiKTeX 2.9)和 pdfx(v1.5.4),它可以开箱即用。

答案2

基于提供的补丁,我之前曾使用 TeXLive 重现过正确的 PDFA-1b PDF。我不明白 MiKTeX 为何会有所不同。

您的方法没有解决与如何终止 pdf 流相关的具体问题。使用默认的 pdftex,它们使用 终止0x0A,但它们应该使用 终止0x0D 0x0A(十进制中的 13 和 10 合起来)。至少,我使用的所有验证工具都不再抱怨。我怀疑简单的搜索和替换在这里是否可行(这可能会影响写入的流的长度信息),也不会有仅针对此问题的包解决方案。

另外两个问题有些关联。我建议将您的问题添加到错误报告中,或尝试联系所提供补丁的原作者(如果可能)。

相关内容