我有以下数据文件data.txt
:
Testdata
以及以下 LaTeX 代码test2.tex
:
\documentclass{article}
\usepackage[a-3u]{pdfx}
\usepackage{embedfile}
\newcommand{\datafile}[2]{\embedfile[filespec={#2},ucfilespec={#2},filesystem=URL,mimetype=application/octet-stream,desc={#2},stringmethod=escape]{#1#2}}
\datafile{}{data.txt}
\begin{document}
Bla bla ...
\end{document}
使用pdfLaTeX
我可以生成一个声称是 PDF/A-3u 的 PDF。
如果我使用 Adobe Preflight 验证此 PDF,我收到以下错误:
- 嵌入文件没有 /AF 条目
- 嵌入文件没有 /AFRelationship 条目
如果我使用 veraPDF V1.10.6 来验证 PDF,我会收到以下错误:
我怎样才能解决这些问题?
我看到其他人也有类似的问题,请参见带有附件的 PDF/A-3b:如何在 pdf 目录中创建 /AF 条目?
更新
我发现以下来源描述了 /AF 条目和 /AFRelationship 条目,请参阅https://arxiv.org/pdf/1406.6126.pdf。我不太明白。
如果我看一下未压缩的 pdf 文件,其中描述了嵌入文件,它看起来像这样:
5 0 obj
<</Type/Filespec/FS/URL/F(data.txt)/UF(data.txt)/Desc(data.txt)/EF<</F 4 0 R>>>>
endobj
如果将其改为
5 0 obj
<</Type/Filespec/FS/URL/F(data.txt)/UF(data.txt)/Desc(data.txt)/AFRelationship/Unspecified/EF<</F 4 0 R>>>>
endobj
那么就不再会缺少 /AFRelationship 条目。
并且应该有某个地方可以/AF[5 0 R 5 0 R]
解决缺失的 /AF 条目。
答案1
自 2019/12/03 起,和/AF
键/AFrelationship
已添加到embedfile
2.9 版软件包中。
看https://ctan.org/pkg/embedfile
必须/AFrelationship
使用以下命令进行设置:
\newcommand{\datafile}[2]{
\embedfile[
filespec={#2},
ucfilespec={#2},
filesystem=URL,
mimetype=application/octet-stream,
afrelationship={/Data},
desc={#2},stringmethod=escape
]{#1#2}}
然后,生成的 PDF 将使用 veraPDF V1.14.8 通过 PDF/A-3U 验证。