我读过很多关于使用 LaTeX 和 pdfTeX 制作 PDF/A-1b 的有趣问题和答案。但我仍然无法制作出有效的 PDF/A-1b 文件。
我使用了以下任一方法:
我没有遇到编译错误,并且验证了约韦 总是有效
但是文件验证失败:
- Acrobat X Pro 预检,
- 在线验证由3 高度 pdf-tools
- 在线验证由固体PDF工具
由于我无法pdftex
按照 Vincent Immler 的建议进行修补,因此我设法通过使用或实用程序tex.stackexchange.com
的二进制替换来修复在上的几篇文章中报告的 EOL 问题,以模仿补丁中所做的更改。x32
x0a
gsar
然而错误信息:
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 合起来)。至少,我使用的所有验证工具都不再抱怨。我怀疑简单的搜索和替换在这里是否可行(这可能会影响写入的流的长度信息),也不会有仅针对此问题的包解决方案。
另外两个问题有些关联。我建议将您的问题添加到错误报告中,或尝试联系所提供补丁的原作者(如果可能)。