使用 Luatex 嵌入 PDF 元数据

使用 Luatex 嵌入 PDF 元数据

我正在尝试将元数据添加到我的.tex 文档编译生成的 pdf 中。

我理解这是软件包提供的功能hyperref,但我无法使其工作,因为我的字段pdftitlepdfauthorpdfcreator匹配。我的日志中出现以下错误:

 - "Option `pdftitle' has already been used,(hyperref) setting the option has no effect"
 - "Option `pdfauthor' has already been used,(hyperref) setting the option has no effect"
 - "Option `pdfcreator' has already been used,(hyperref) setting the option has no effect"

我不知道这种情况可能发生在哪里,因为我没有在文档中明确设置它。

这是我的 MWE 代码,用于说明我尝试嵌入的元数据类型。

\ExplSyntaxOn

    %%%% Definition of the title and the author name
    \str_const:Nn \c_authorName_str {Firstname~NAME}
    
    \title{CV \str_use:N \c_authorName_str}
    \author{\str_use:N \c_authorName_str}
    
    %%%%  Call to hyperref juste before to initialize the document.
    \usepackage[unicode]{hyperref}
    %   \usepackage[unicode,pdftitle={CV \str_use:N \c_authorName_str},pdfauthor={\str_use:N \c_authorName_str},pdfcreator={\str_use:N \c_authorName_str}]{hyperref}
    
    \AtBeginDocument{
        \hypersetup{
            pdftitle={CV \str_use:N \c_authorName_str},
            pdfauthor={\str_use:N \c_authorName_str},
            pdfcreator={\str_use:N \c_authorName_str}
        }
    }

\ExplSyntaxOff

%%%%% CONTENU
\begin{document}
    
%%%%  CV Header
\ExplSyntaxOn
    \name{\str_use:N \c_authorName_str}
\ExplSyntaxOff

正如我在标题中所说,我正在用引擎编译我的文档Luatex

答案1

这是对我有用的设置。使用 中的命令不起作用\hypersetup

    % !TeX TS-program = lualatex

\documentclass[12pt,a4paper]{book}

\usepackage[
hyperindex=true,    % Makes the page numbers of index entries into hyperlinks
bookmarks=true,% PDF-specific display options
]{hyperref}

\hypersetup{
    pdftitle={Integrate pdf metadata while using the Luatex engine},
    pdfauthor={impishwhite},
    pdfsubject={pdf metadata},
    pdfkeywords={hyperref},
    pdfcreator={me again},
    bookmarksnumbered=true,     
    bookmarksopen=true, 
    linktocpage=true, % in the table of contents, make page numbers rather (than associated text) into hyperlinks
} 

\author{impishwhite}
\title{Integrate pdf metadata while using the Luatex engine}

\begin{document}
\maketitle  
\chapter{One}   
\chapter{Two}   
\end{document}

b

这是用 crobat reader 做的

C

答案2

问题是,我的文档中同时使用了两个具有 pdf 元数据配置功能的包。事实上,我同时使用了“hyperref”和“pdfx”。

调用 pdfx 包触发的元数据配置机制阻碍了 hyperref 包提供的元数据配置的可能性。

删除 pdfx 包的使用会使问题消失,并且我的代码无需进一步修改就能正常工作。

感谢您的帮助。

相关内容