pdfx 包写入 pdf 文件

pdfx 包写入 pdf 文件

我想使用 pdfx 包在 LaTeX 中创建一个兼容 pdf/a 的文件。不幸的是,不是使用正确创建的 xmp 文件将文件转换为 pdf/a,而是将几行神秘的文本直接写入 pdf 文件中。我的最小示例(主要基于http://www.golatex.de/pdfx-bzw-pdf-a-oder-pdf-x-t4427.html) 是

\begin{filecontents*}{\jobname.xmpdata}
    \Keywords{pdfTeX\sep PDF/X-1a\sep PDF/A-b}
    \Title{Sample LaTeX input file}
    \Author{Das war KOMA}
    \Org{goLaTeX}
\end{filecontents*}

\documentclass{article}
\usepackage[a-1b]{pdfx}
\usepackage[pdfa]{hyperref}

\begin{document}
Hello world!
\end{document}

这会产生错误! LaTeX Error: Missing \begin{document},尽管文件中有一个\begin{document},以及以下文件:

在此处输入图片描述

知道问题出在哪里吗?

答案1

你需要eciRGB_v2.icc在工作目录中。

\documentclass{article}

% ===============================
% Embedding the color profile.
% Requires eciRGB_v2.icc in the working directory
% http://www.eci.org/_media/downloads/icc_profiles_from_eci/ecirgbv20.zip


\pdfminorversion 4
\immediate\pdfobj stream attr{/N 3}  file{eciRGB_v2.icc}
\pdfcatalog{%
/OutputIntents [ <<
/Type /OutputIntent
/S/GTS_PDFA1
/DestOutputProfile \the\pdflastobj\space 0 R
/OutputConditionIdentifier (eciRGB v2)
/Info(eciRGB v2)
>> ]
}

\usepackage{xcolor}
\usepackage{hyperxmp}
\usepackage[pdftex, pdfa, linktoc=none]{hyperref}

% ----------------------------------------------
% Add metadata

\hypersetup{%
       pdftitle={Sample LaTeX input file},
       pdfauthor={Das war KOMA},
       pdfsubject={Thema},
       pdfkeywords={pdfTeX, PDF/X-1a, PDF/A-b},
       pdflang={de},
       bookmarksopen=true,
       bookmarksopenlevel=3,
       hypertexnames=false,
       linktocpage=true,
       plainpages=false,
       breaklinks
     }

\begin{document}
    Hello world!
\end{document}

答案2

错误:

LaTeX 错误:缺少 \begin{document}

当某些内容出现在 TeX 的排版列表中时触发\begin{document}遇到了真正的命令。当字节最终出现在.xmpdata文件中,而不是包含在其特殊宏\Title\Author\Subject等的参数中时,就会发生这种情况。这可能包括不可见字符。

您是否曾在另一个编辑器中生成内容,并将字节顺序标记 (BOM) 复制到环境中filecontents*?刚刚熟悉此类问题,的下一个版本pdfx.sty已编码以防止任何此类无关字节进入 TeX 列表。

相关内容