使用 LuaLaTeX 生成 PDF/A-1b

使用 LuaLaTeX 生成 PDF/A-1b

由于 pdfx 和 hyperxmp 不兼容,因此更新

我尝试使用 lualatex 生成 PDF/A-1b 兼容文件,而无需创建 xmp 文件。我的尝试没有成功。

pdf 已生成,但 Adob​​e Reader 未显示已设置元数据。

梅威瑟:

 \documentclass{article}
 \usepackage{luatexbase}

 %%%%%%%%%%%% PDF and PDF/A
 \usepackage[a-1b]{pdfx}

 \hypersetup{%
     breaklinks=true,
    hyperindex=true,
    colorlinks=false,
    hidelinks=true,
    unicode=true,
    pdfauthor={Author},
    pdfauthor={Author},
    pdfsubject={The Subject},
    pdfkeywords={Some Keywords},
    pdflang={en},
    bookmarksopen=false,
    linktocpage=true,
    plainpages=false,
    breaklinks,
    pdfpagelabels
 }


 \begin{document}
    \tableofcontents
     \section{gg}
    gg
 \end{document}

答案1

PDF/A-1b 是具有 OutputIntent 和某些元数据的 PDF。下面的 MWE 可同时执行以下两项操作:

%\pdfobjcompresslevel=0 %uncomment for Texlive
\documentclass{book}

\usepackage[pdfa]{hyperref}
\usepackage{hyperxmp}[2020/03/01]
\usepackage{embedfile}[2020/04/01]

\title{Document title}
\author{First Author, Last Author}

\hypersetup{%
    pdflang=la,
    pdfapart=3, %set to 1 for PDF/A-1
    pdfaconformance=B
}

\embedfile[afrelationship={/Source},ucfilespec={\jobname.tex},mimetype={application/x-tex}]{\jobname.tex}

%Create an OutputIntent in order to correctly specify colours
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
  /OutputIntents [
    <<
      /Type /OutputIntent
      /S /GTS_PDFA1
      /DestOutputProfile \the\pdflastobj\space 0 R
      /OutputConditionIdentifier (sRGB)
      /Info (sRGB)
    >>
  ]
}

\begin{document}
    \tableofcontents
     \section{gg}
    gg
\end{document}

尝试使用更新、更直接的 PDF/A-3b,因为它不需要重复的元数据。

在 MikTeX LuaLaTeX 和 pdfLaTeX 下进行测试,并使用最先进的 PDF/A 验证器 Acroboat DC 进行验证。

相关内容