使用 pdfx 创建 PDF/A 时,PDF 元数据中缺少作者和关键字

使用 pdfx 创建 PDF/A 时,PDF 元数据中缺少作者和关键字

我正在尝试使用 pdflatex 和 pdfx 生成 PDF/A,并希望用我在 .xmpdata 文件中指定的值填充 PDF 元数据。

我的问题是,作者关键词信息不会写入 PDF 元数据,而这对于标题主题

下面是一个 MWE 来演示我的问题,与 pdfx 文档所显示的非常相似。

\begin{filecontents*}{\jobname.xmpdata}
\Title{Baking through the ages}
\Author{A. Baker}
\Keywords{cookies\sep muffins\sep cakes}
\Publisher{Baking International}
\Subject{The Subject}
\end{filecontents*}

\documentclass{scrartcl}
\usepackage[a-1b]{pdfx}

\begin{document}
First line

\makeatletter
Author: \pdfx@Author

Keywords: \pdfx@Keywords

Subject: \pdfx@Subject

Title: \pdfx@Title
\makeatother

last line.
\end{document}

如果您检查 PDF 属性,作者和关键字的行是空的,我发现这不太直观,因为主题和标题已填满。这可能与作者和关键字字段中使用 \sep 有关,但实际上是否使用它并不重要(请参阅 MWE)。

我正在使用最新的 Manjaro Linux 和 texlive。我的 PDF 查看器是 evince。

我发现了以下解决方法,虽然可能非常糟糕,但对我来说很有效:

\makeatletter
\def\sep{; }
\pdfx@topdfstring\pdfx@Author\xmp@Author
\pdfx@topdfstring\pdfx@Keywords\xmp@Keywords
\makeatother

当我在之前插入这个时\begin{document},行为符合预期并且所有字段都被填充。

或者我可以指定相同的内容再次使用\pdfinfo{...},但我不明白为什么我需要再次这样做。

也许有人可以解释发生了什么,或者这是否是 pdfx 中的一个错误。谢谢。

答案1

我建议采用以下方法,而无需pdfx让您的 MWE 正常工作:

%\pdfobjcompresslevel=0 %uncomment for Texlive
\documentclass{scrartcl}

\usepackage{hyperxmp}
\usepackage[pdfa]{hyperref}
\usepackage{mmap} %only needed for pdfTeX

\title{Baking through the ages}
\subtitle{The Subject}
\author{A. Baker, A. Companion}
\newcommand\stichworte{cookies,muffins,cakes}

\hypersetup{%
    pdfapart=1,
    pdfaconformance=b,
    pdfkeywords={\stichworte},
    pdfpublisher={Baking International}
}

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

\begin{document}

First line

\makeatletter
Author: \@author

Keywords: \stichworte

Subject: \@subtitle

Title: \@title
\makeatother

last line.
\end{document}

我不能代表 pdfx 发言,但重复使用变量也会破坏其他软件包。因此,最好为不属于标题页的条目创建一个新命令,就像\stichworte在这个 MWE 中所做的那样。

相关内容