pdfx - 软件包导致超链接无效

pdfx - 软件包导致超链接无效

我想制作符合 PDF/A-1b 标准的文档。我使用的是 pdflatex (MikTex 2.9) 和 TeXnicCenter。在网上,我读到“pdfx”包是实现此目的的最佳方法。我按照网上的说明安装了 pdfx,它似乎可以正常工作。

然而,一旦我开始\usepackage[a-1b]{pdfx}在我的 tex 文件中实现“”,我的文档中的链接就不再起作用,即我无法单击链接切换到它的目的地,例如参考章节或引用参考书目条目。

查看“pdfx.sty”发现“hyperref”包中加载了“draft”选项:

\RequirePackage[draft,pdftex,pdfpagemode=UseNone,bookmarks=false]{hyperref}

我尝试使用 更改此选项\hypersetup{final},但是没有效果。

我还尝试将“pdfx.sty”中的相应行直接更改为

\RequirePackage[final,pdftex,pdfpagemode=UseNone,bookmarks=false]{hyperref}

但这也不起作用(我在运行 pdflatex 之前更新了 Miktex 文件名数据库)。

此外,更改链接的外观(例如其颜色)也无法被操纵(参见示例)。

有人能告诉我是否可以在使用“ \usepackage[a-1b]{pdfx}”命令创建的 PDF 文档中拥有有效链接吗?

以下是 MWE:

\documentclass{book}

\usepackage[a-1b]{pdfx}
\usepackage{lipsum}

% Appearance of links cannot be manipulated
\hypersetup{linkcolor = {0 0 1}}

% Activating "Final" option does not influence links
\hypersetup{final = true}

\begin{document}

\chapter{Dummy title 1}
\label{label_1}
\lipsum

\chapter{Dummy title 2}
Make reference to chapter \ref{label_1}

\end{document}

答案1

使用---,超链接在 PDF/A 文档中应该可以正常工作,pdfx但请将您发现的任何不符合情况的示例发送给我。

然而 PDF/X 中禁止主动操作,该标准仅用于精确的高质量打印。

中的一项新功能pdfx (v.1.5.8)是在 PDF/X 文档中强制执行此操作,方法是修补 的hyperref链接编码,但尊重为链接的锚文本指定的任何颜色。另一项改进是强制使用xcolor,以适应已指定的颜色配置文件的性质;通常 PDF/A 为 RGB,PDF/X 为 CMYK。这是为了确保以任何方式在其他包中指定的任何颜色,或 最终都与\definecolor所选的颜色模型匹配。否则 PDF 可能无法通过验证。

答案2

在网上,我读到“pdfx”包是实现这一目标的最佳方法。

这是错误。PDF/A-1a 主要涉及正确的元数据。包hyperxmp关心元数据。要使 PDF/A-1a 正常工作,您唯一需要添加的是用于颜色管理的 OutputIntent。

平均能量损失

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

\usepackage{lipsum}
\usepackage[pdfa]{hyperref}
\usepackage{hyperxmp}

\hypersetup{%
    pdftitle={title},
    pdfauthor={author},
    pdflang=la,
    %pdfcreator={pdfLaTeX}, %uncomment for PDF/A-1
    %pdfproducer={pdfLaTeX}, %uncomment for PDF/A-1
    %keeppdfinfo=1, %uncomment for PDF/A-1
    pdfapart=2, %set to 1 for PDF/A-1
    pdfaconformance=B
}

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

% Appearance of links /can/ be manipulated
\hypersetup{colorlinks, linkcolor = green}

\begin{document}

\chapter{Dummy title 1}
\label{label_1}
\lipsum

\chapter{Dummy title 2}
Make reference to chapter \ref{label_1}

\end{document}

此示例在 Acrobat DC 中验证,并且3个高度hyperref,使用 MikTeX 中的 LuaLaTeX 和 pdfLaTeX。它具有可点击的链接,您可以按照手册中所述定义颜色。

我推荐使用 PDF/A-2a,而不是 PDF/A-1a。区别在于 1 在 XMP 和 DocumentInfo 中存储了一些元数据两次。没有冗余元数据更优雅。

相关内容