TeX Live 2013 上带有 hyperref 的 PDF/A

TeX Live 2013 上带有 hyperref 的 PDF/A

我正在尝试从 LaTeX 制作 PDF/A(不是来自 LuaTeX 等)在 Fedora Linux 上使用 TeX Live 2013。这有效:

\documentclass{article}

\begin{document}

What cat says? \label{meow}

See question on page \pageref{meow}.

\end{document}

使用命令latexdvips最后

gs -dPDFA -dBATCH -dNOPAUSE -dNOOUTERSAVE -dUseCIEColor
-sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite
-sOutputFile=meow.pdf meow.ps

现在,当我添加时,\usepackage[pdfa]{hyperref}我收到了类似的验证错误

dc:description :: Wrong value type. Expected type 'lang alt'.
The XMP property 'dc:title' is not synchronized with the document
information entry 'Title'.
A device-specific color space (Annotation C or IC) without an
appropriate output intent is used.

hyperref 的文档说

-- 结果通常不在 PDF/A 中,因为许多功能不受 hyperref 控制 --

但如何控制这些呢?

我是否应该尝试这条路?还有其他选择,例如pdfx。该使用哪条路?

答案1

  1. 将颜色配置文件eciRGB_v2.icc在工作目录中。
  2. 将以下代码添加到你的序言中:
    \usepackage{hyperxmp}
    \usepackage[pdfa, linktoc=none]{hyperref}

    % ===============================
    % Embedding the color profile.
    % Requires eciRGB_v2.icc in the working directory
    % http://www.eci.org/_media/downloads/icc_profiles_from_eci/ecirgbv20.zip
    \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)
        >> ]
    }
  1. hyperxmp使用和添加元数据\hypersetup

    \title{Title}
    \author{First Author, Last Author}
    \hypersetup{%
                 pdfauthortitle={Title of the Author},
                 pdfcopyright={Copyright (C) 20xx, Copyrightholder},
                 pdfsubject={Something},
                 pdfkeywords={Keyword1, Keyword2},
                 pdflicenseurl={http://creativecommons.org/licenses/by-nc-nd/3.0/},
                 pdfcaptionwriter={Scott Pakin},
                 pdfcontactaddress={Street},
                 pdfcontactcity={City},
                 pdfcontactpostcode={101},
                 pdfcontactcountry={Country},
                 pdfcontactemail={[email protected]},
                 pdfcontacturl={http://www.institute.edu},
                 pdflang={en},
                 bookmarksopen=true,
                 bookmarksopenlevel=3,
                 hypertexnames=false,
                 linktocpage=true,
                 plainpages=false,
                 breaklinks
             }
    

所有内容放在一起会产生如下文档:

    % ===============================
    % Filename: test.tex

    \documentclass{article}
    \usepackage{hyperxmp}
    \usepackage[pdfa, linktoc=none]{hyperref}

    % ===============================
    % Embedding the color profile.
    % Requires eciRGB_v2.icc in the working directory
    % http://www.eci.org/_media/downloads/icc_profiles_from_eci/ecirgbv20.zip
    \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)
        >> ]
    }

    % ----------------------------------------------
    % Add metadata
    \title{Title}
    \author{First Author, Last Author}
    \hypersetup{%
                 pdfauthortitle={Title of the Author},
                 pdfcopyright={Copyright (C) 20xx, Copyrightholder},
                 pdfsubject={Something},
                 pdfkeywords={Keyword1, Keyword2},
                 pdflicenseurl={http://creativecommons.org/licenses/by-nc-nd/3.0/},
                 pdfcaptionwriter={Scott Pakin},
                 pdfcontactaddress={Street},
                 pdfcontactcity={City},
                 pdfcontactpostcode={101},
                 pdfcontactcountry={Country},
                 pdfcontactemail={[email protected]},
                 pdfcontacturl={http://www.institute.edu},
                 pdflang={en},
                 bookmarksopen=true,
                 bookmarksopenlevel=3,
                 hypertexnames=false,
                 linktocpage=true,
                 plainpages=false,
                 breaklinks
             }

    \begin{document}
    What cat says? \label{meow}
    See question on page \pageref{meow}.
    \end{document}

符合 PDF/A-1b 标准:

在线 pdf 验证工具的结果

更新:自最初的答案以来,情况发生了多次变化。有一段时间luatex85必须加载,但今天它会破坏编译。但它也不再需要了。必须加载软件包今天设置 OutputIntent。

这仅适用于pdfLaTeXLuaHBTeXLuaLaTeX

相关内容