使用 pdfx 和 pdfLaTeX 生成符合 PDF/A-1b 标准的文档

使用 pdfx 和 pdfLaTeX 生成符合 PDF/A-1b 标准的文档

网络上有很多关于如何生成符合 PDF/A-1b 标准的文档的讨论。

一种方法可以在http://support.river-valley.com/wiki/index.php?title=Generating_PDF/A_compatible_PDFs_from_pdftex据我所知,它已在pdfx包中实现。

我创建了一个最小test.tex文件:

\documentclass{文章}
\usepackage[a-1b]{pdfx}
\开始{文档}
你好世界!
\结束{文档}

据我了解,我需要将元数据放在一个名为 test.xmpdata 的单独文件中:

\Title{PDF/A-合规性}
\作者{艾达·洛夫莱斯}
\Org{TeX 大学}
\关键词{PDF/A}

test.tex使用 pdfTeX 3.1415926-1.40.10-2.2(TeX Live 2009/Debian)进行编译。

为了验证 PDF/A-1b 兼容性,我使用jhoveLibreOffice 导出的 PDF 作为积极控制。

jhove -m pdf-hul 测试.pdf

然而,jhove 哀叹

错误消息:词汇错误
  偏移:16530

所以我的test.pdf文件似乎不符合 PDF/A 标准。您能否给我一些提示,告诉我需要运行哪些额外的诊断程序才能查明问题所在?

答案1

查看更新的解决方案

https://tex.stackexchange.com/a/535849/50129

过时

使用默认的 pdftex 无法生成符合 PDFA-1b 标准的文档。pdftex 中有一个小错误,导致 EOL 标记不合规。2011 年有一个关于此问题的错误报告,成功解决了该问题。您可以在此处找到它:

http://sarovar.org/tracker/index.php?func=detail&aid=4341&group_id=106&atid=493

本报告还附有一份文件: http://sarovar.org/tracker/download.php/106/493/4341/10821/verify_this_sample.zip

它包含有关如何修补 pdftex 以生成 PDFA-1b 兼容文件的说明。该软件包还包含 pdfx 的修补版本。不幸的是,这些更改尚未进入代码库。

答案2

我必须通过验证文档jhove,并且我设法使用pdftk在生成的 PDF 上pdflatex。我只是使用了命令

pdftk MyDocument.pdf output ValidatedDocument.pdf

希望可以帮到你!

答案3

我不知道这是否是问题的正确答案,但它可能会帮助那些想要生成 PDF/A 的人(尤其是1b来自 LaTeX 项目的档案版本。

我尝试了这个pdfx软件包,尽管它有助于减少验证错误的数量,但 veraPDF 仍然抱怨太多其他问题。问题是 LaTeX 本身无法检查所有要求(例如图形的透明度)。

经过一番研究我发现Ghostscript可用于将 PDF 转换为 PDF/A(请参阅线),但验证也并不总是成功。有些版本甚至不起作用。有时它可以工作,但生成的 PDF 会出现一些问题(例如链接不起作用、元数据被删除等)。

然后我们的想法是使用该pdfx包,使用 pdfLaTeX 编译项目,然后在生成的 PDF 上运行 Ghostscript,并使用类似的程序Exif工具修复元数据问题。这给了我很好的结果(至少在我的 LaTeX 论文上)。

我写了一个简单的脚本来自动化上述过程。虽然我不确定它是否适用于每个 LaTeX 项目,但我希望它能帮助处于同样情况的人。安装过程以及源代码托管在 github 上:latex2pdfa

相关内容