从外部文件加载 PDF 元数据

从外部文件加载 PDF 元数据

我懂了这里将整个命令放在外部 .tex 文件中很不错\hypersetup。在我的例子中,只需要一个片段,它由外部程序生成,并且会经常更改,例如内部版本号。但这不起作用:

\documentclass{article}
\usepackage{hyperref}
\hypersetup{pdfsubject=\input{buildno.txt}}  % other info omitted

\begin{document}
Thanks
\end{document}

生成的 PDF 将包含一个主题“buildno.txt”,而不是文本文件的内容。有没有一种方便的方法来加载此类信息,而无需\hypersetup在外部文件中编写整个命令脚本?

答案1

您可以修改外部文件,将主题定义为命令,然后输入文件并使用该命令;例如:

\begin{filecontents*}{buildnodef.txt}
\def\buildno{version 6}
\end{filecontents*}

\documentclass{article}
\input{buildnodef.txt}
\usepackage{hyperref}
\hypersetup{pdfsubject=\buildno}  % other info omitted

\begin{document}
Thanks
\end{document}

或者,你可以将文件内容读入命令,然后就可以使用。例如,使用包catchfile

\begin{filecontents*}{buildno.txt}
version 7
\end{filecontents*}

\documentclass{article}
\usepackage{catchfile}
\CatchFileDef{\buildno}{buildno.txt}{}
\usepackage{hyperref}
\hypersetup{pdfsubject=\buildno}  % other info omitted

\begin{document}
Thanks
\end{document}

相关内容