使用 pdfx 时出现奇怪的警告

使用 pdfx 时出现奇怪的警告

我收到了这个奇怪的警告:

\pdfobjcompresslevel > 0 requires \pdfminorversion > 4. Object streams disabled now.

使用pdfx包。

这是一个 MWE:

\documentclass[12pt,a4paper,twoside,openright]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}

\usepackage[hmargin=3cm,vmargin=3cm,bindingoffset=0.5cm]{geometry}

\usepackage{setspace} %setta l'interlinea a 1,5
\onehalfspacing

\usepackage{lipsum}

%PDF METADATA
%-----------------------------
\usepackage[a-1b]{pdfx}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.xmpdata}
\Title{Title}
\Author{Author}
\Keywords{Mobile Cloud\sep
Energia\sep
Green Networking\sep
Network Coding\sep
User Cooperation\sep
RLNC\sep}
\Org{Università degli Studi di Catania} 
\end{filecontents*}
%-----------------------------

\begin{document}

\lipsum[1-4]

\end{document

这是我得到的错误:

在此处输入图片描述

我还使用在线验证器验证了该文件,结果如下:

Validating file "prova.pdf" for conformance level pdfa-1b
The separator after an 'obj' must be an EOL. (2)
The separator before an 'endobj' must be an EOL. (2)
The separator before 'endstream' must be an EOL.
XML line 21:27: Input is not proper UTF-
Bytes: 0xE0 0x20 0x64 0x65.", 1
The value of the key N is 4 but must be 3.
The document does not conform to the requested standard.
The file format (header, trailer, objects, xref, streams) is corrupted.
The document doesn't conform to the PDF reference (missing required entries, wrong value types, etc.).
The document's meta data is either missing or inconsistent or corrupt.
Done.

答案1

这是软件包中的一个错误pdfx。PDF/A 使用 PDF 版本 1.4。pdfTeX 的默认版本是 1.5,它允许对象流压缩,而 1.4 版本中没有这个功能。软件包pdfx设置了版本 1.4,但忘记了\pdfobjcompresslevel。如果将第一个对象写入 PDF 文件,pdfTeX 就会发出警告。

pdf14一开始就使用包的解决方法和解决方案:

\RequirePackage{pdf14}% also disables `\pdfobjcompresslevel`
\documentclass[...]{...}
...
\usepackage[a-1b]{pdfx}

无论如何,PDF 版本的设置应该在一开始就完成。有些软件包已经写入了 PDF 对象,那么版本号就已经写入(在 PDF 文件的开头),如果之后更改了版本,pdfTeX 会因错误而中止:

! pdfTeX error (setup): \pdfminorversion cannot be changed after data is written to the PDF file.

相关内容