应用

应用

我使用 pdfx 生成文档的元数据。有没有办法通过 xmpdata 文件生成更多条目?

我认为相关的条目(根据参考书目要求)例如是副标题、技术报告的机构或论文的学校。

\documentclass{scrbook}
\usepackage[a-2u]{pdfx}

\begin{filecontents}{test_pdfx.xmpdata}
\Title{Test PDF/A-2u standard}
\Subtitle{This subtitle is not added to the document}
\Author{Me T. Author}
\end{filecontents}

\begin{document}

Tested PDF/A-2u.

\end{document}

更多书目条目可参见维基百科

应用

在阅读pdfx 手册,我不太明白/Info元数据部分是用来做什么的。如果我在标题、作者或关键词中包含 \sep,我会在哪里看到效果?

答案1

元数据有两种类型:信息字典中的条目和 xmp 元数据。在 PDF 2.0 中,信息字典已弃用,不应再使用。

信息词典

hyperref 允许向信息字典中添加更多条目:

\documentclass{scrbook}
\pdfcompresslevel=0
\usepackage{hyperref}
\hypersetup{pdfinfo={Subtitle=some subtitle}}
\begin{document}
Tested
\end{document}

然后可以在 pdf 属性中看到此条目:

在此处输入图片描述pdfx重新定义了内部 hyperref 命令并破坏了这些附加组件。

xmp 元数据

pdfxxmp-metadata 可以通过和添加hyperxmp(这两个包不兼容,所以你必须选择)。pdfx不知道字幕元数据,而且据我所知也没有添加新元数据的界面。hyperxmp你可以通过 添加字幕元数据,但就像覆盖内部命令hyperxmp一样,这也会破坏信息字典中的条目。如果你想保留这个,你将不得不求助于低级原语,例如使用 pdftexpdfxhyperref

\pdfinfo{/Subtitle (text)}

text必须是有效的 pdf 字符串,或者您必须通过 \pdfstringdef 传递它。

如果您使用 PDF 管理,则会自动添加 XMP 元数据。请参阅https://tug.org/TUGboat/tb43-3/tb135fischer-xmp.pdftexdoc l3pdfmeta了解更多信息。

\DocumentMetadata{}
\documentclass{scrbook}
\usepackage{hyperref}
\hypersetup{pdfinfo={Subtitle=some subtitle}}
\begin{document}
Tested
\end{document}

答案2

正如评论中所述,您可以使用该hyperxmp包。这允许输入大量附加元数据字段,其中包括副标题字段和各种书目信息字段。请注意,默认情况下,文档属性对话框中不显示额外信息,可以使用Additional Metadata...Acrobat Pro 中的按钮查看。

梅威瑟:

\documentclass{article}
%\usepackage[a-2u]{pdfx}
\usepackage[pdfa]{hyperref}
\usepackage{hyperxmp}

\hypersetup{
pdftitle={Test PDF/A-2u standard},
pdfauthor={Me T. Author},
pdfsubtitle={Subtitle of the document},
pdfpubtype={Technical Report},
pdfpublisher={Scientific Institution of Tech Reports},
pdfapart={2},
pdfaconformance={U},
keeppdfinfo
}

\begin{document}

Tested PDF/A-2u.

\end{document}

结果:

在此处输入图片描述

请注意,pdfx未使用包。一致性由选项和字段的pdf/a-2u组合设置。还要注意,指定选项,如果没有指定,则除 Adob​​e Reader/Acrobat 之外的查看器中根本不会显示任何元数据。使用此选项,其他查看器(Evince、终端等)中仅显示标准信息,而不显示其他元数据字段。pdfahyperrefpdfapartpdfaconformancehyperxmpkeeppdfinfopdfinfo

如果您想添加尚未预定义的自定义字段,hyperxmp那么您可以使用xmpincl包。 注意事项手册hyperxmp

hyperxmpxmpincl可以相互补充。作者可能希望使用hyperxmp来生成一组基本的 XMP 代码,然后使用文本编辑器从 pdf 文件中提取 XMP 代码,使用 不支持的任何元数据来扩充 XMP 代码hyperxmp,并使用xmpincl将修改后的 XMP 代码包含在 pdf 文件中。

相关内容