![使用 scrbook 和 LuaLaTeX 创建符合 PDF/A 和 PDF/X 多标准的文档](https://linux22.com/image/475364/%E4%BD%BF%E7%94%A8%20scrbook%20%E5%92%8C%20LuaLaTeX%20%E5%88%9B%E5%BB%BA%E7%AC%A6%E5%90%88%20PDF%2FA%20%E5%92%8C%20PDF%2FX%20%E5%A4%9A%E6%A0%87%E5%87%86%E7%9A%84%E6%96%87%E6%A1%A3.png)
我正在尝试创建一个 PDF/A-和同时兼容 PDF/X,并scrbook
具有不同版本的 LuaLaTeX 和 documentclass。
到目前为止,我找到了一些可以运行的代码。这平均能量损失帮助我同时生成符合 PDF/A-2b 或 PDF/A-2u 和 PDF/X-4 标准的 PDF。不过,我还希望能够切换到 PDF/X-1a 和 PDF/X-3,它们可以与本文的片段一起使用代码。
这是我到目前为止拼凑起来的 MWE。我不确定所有部分的作用,因此我很乐意对任何有缺陷或不需要的部分进行解释或更正。它可以同时生成符合 PDF/A-2u(或 b)和 PDF/X-4 的 PDF,或者交替生成仅几行代码更改符合 PDF/A-2u(或 b)和 PDF/X-1a(或 3)的 PDF。但是,这仅适用于 documentclass article
。我的问题:如何让它与 documentclass 一起工作scrbook
?使用时scrbook
它不再符合 PDF/X。Acrobat DC 警告“文档包含操作”。我该如何摆脱它们?我已经设置bookmarks
为false
并使用NoHyper
。
要使此 MWE 正常工作,您还需要来自 eci_offset_2009.zip 的 PSO_Uncoated_ISO12647_eci.icc这里。要在 PDF/A 和 PDF/X 变体之间切换,请查看我之前所做的评论\begin{document}
。
编辑:所以我找到了解决方案。请参阅下面的评论。让我们将其变成另一个问题:您认为这是为所有这些 PDF 变体(PDF/A-2b、A-2u 和 X-1a、x-3、X-4)生成符合多标准文档的正确方法吗?有没有更好的方法?
梅威瑟:
% !TeX TXS-program:compile = txs:///lualatex/[-synctex=1 -interaction=nonstopmode]
% !BIB TS-program = biber
% !TeX encoding = UTF-8
\ifnum\luatexversion>81
\RequirePackage{luatex85}
\else
\fi
\pdfobjcompresslevel=0%
\pdfminorversion=3% Setting version of pdf % must be set 3 for PDF 1.3 required by PDF/X
\pdfinclusioncopyfonts=1%
\documentclass{scrbook}
\usepackage[pdfa,bookmarks=false]{hyperref} %bookmarks are incompatible with PDF/X<6
\usepackage[ngerman]{babel}
\usepackage{hyperxmp}[2020/06/15]
\usepackage[cmyk]{xcolor}
\immediate\pdfobj stream attr{/N 4} file{PSO_Uncoated_ISO12647_eci.icc}
\pdfcatalog{%
/OutputIntents [ <<
/Type /OutputIntent
/S /GTS_PDFX
/DestOutputProfile \the\pdflastobj\space 0 R
/Info(PSO Uncoated ISO12647 (ECI))
/OutputCondition(Offset printing, according to ISO 12647-2:2004/Amd1, OFCOM, paper type 4 = uncoated white, 115 g/m2, tone value increase curves C (CMY) and D (K))
/OutputConditionIdentifier (Uncoated FOGRA47)
/RegistryName(http://www.color.org)
>>
<<
/Type /OutputIntent
/S /GTS_PDFA1
/DestOutputProfile \the\pdflastobj\space 0 R
/Info(PSO Uncoated ISO12647 (ECI))
/OutputCondition(Offset printing, according to ISO 12647-2:2004/Amd1, OFCOM, paper type 4 = uncoated white, 115 g/m2, tone value increase curves C (CMY) and D (K))
/OutputConditionIdentifier (Uncoated FOGRA47)
/RegistryName(http://www.color.org)
>> ]
}
\makeatletter
% Bugfix of hyperref to produce CMYK links
\let\HyColor@HyperrefBorderColor\HyColor@XZeroOneThreeFour
\makeatother
\makeatletter
%we need to tell PDF/X the final format of the paper. This needs adjustment if you want graphics on the page border, called bleeding
\@tempdima=0.99626400996264009962\paperwidth
\edef\boxwd{\strip@pt\@tempdima}
\@tempdima=0.99626400996264009962\paperheight
\edef\boxht{\strip@pt\@tempdima}
\makeatother
\edef\next{%
\protect\pdfpageattr{
/TrimBox[0.0 0.0 \boxwd\space \boxht]
}%
}
\next
\title{PDF/A-2b dummy document}
\author{anonymus}
%%%%%%%%%%%%%% Section start
% Use this section for PDF/X-1a and 3 compliance. Comment out for PDF/X-4 compliance.
\hypersetup{pdfstartpage={}}% disable openaction of hyperref for PDF/X compliance
%(mm size * 72)/25.4 = bp size
\pdfpageattr{ %fill manually
/TrimBox [0 0 210.990 162.086]
}
\pdfinfo{ %for PDF/X
/Title (Word vs. LaTeX) % without this copy of title pdf is not compatible with PDF/X
/GTS_PDFXVersion (PDF/X-1:2001)
/GTS_PDFXConformance (PDF/X-1a:2001)
}%
%%%%%%%%%%%%%% Section end
\hypersetup{%
pdfdisplaydoctitle=true,
pdfversionid=1,
pdftrapped=False,
pdfapart=2,
pdfaconformance=U, % Change to "B" for PDF/A-2b compliance only.
pdfstartpage={},
% pdfxstandard={PDF/X-4}, % Comment out to switch to PDF/X-1a or 3. Use for PDF/X-4 compliance.
urlbordercolor=red
}
\begin{document}
\begin{NoHyper} %comment out to avoid links
\tableofcontents
\section {Title}
Text.
\url{http://tex.stackexchange.com/}
\end{NoHyper} % comment out to avoid links
\end{document}