向 PDF 文件添加自定义元数据值

向 PDF 文件添加自定义元数据值

是否可以为 PDF 文件创建自定义元数据键/值?

我可以(从这里的其他问题)看到如何添加标题、作者、关键字等。但是,我正在创建历史文献的抄本,我想添加一些额外的元数据,例如保存该文献的记录办公室和文献接收号。

我的想法是(在将来)当我想在网络上提供它们时,我可以编写一个应用程序来读取 PDF 以提取元数据(通过 PDFBox 或 iText 之类的东西)并将其包含在 HTTP POST 中。

答案1

包裹hyperref

软件包hyperref支持在 PDF 信息字典中设置任意键(参见手动的):

\documentclass{article}
\usepackage{hyperref}

\hypersetup{
  pdfinfo={
    RecordOffice={my office},
    AccessionNumber={42},
  }
}

\begin{document}
Hello World.
\end{document}

但是这些键不是标准化的,因此大多数工具不会显示它们。但你可以通过 PDF 库提取它们。

包裹hyperxmp

PDF 格式还支持 XMP(可扩展元数据平台)。其中标准化了更多关键字。请参阅hyperxmpScott Pakin 的软件包。

答案2

还有pdfx包。在这里你必须将元数据作为单独的.xmp文件添加。

\documentclass{article}

\usepackage{lipsum}
\usepackage[a-1b]{pdfx}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.xmpdata}
\Keywords{pdfTeX\sep PDF/X-1a\sep PDF/A-b} 
\Title{Sample LaTeX input file} 
\Author{LaTeX project team} 
\Org{TeX Users Group}
\Doi{123456789} 
\end{filecontents*}
\begin{document}
\lipsum

\end{document}

答案3

所有上述方法均在 latex 环境中有效。如果您想在生成 pdf 后更改某些元数据信息,请查看我的后处理方法

此方法仅使用文本编辑器。

相关内容