是否可以为 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(可扩展元数据平台)。其中标准化了更多关键字。请参阅hyperxmp
Scott 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 后更改某些元数据信息,请查看我的后处理方法。
此方法仅使用文本编辑器。