有没有办法使用ghostscript将PDF转换为PDF / A或PDF / X?我知道它可用于将PDF转换为图像,但我不知道它是否可用于转换PDF / A.我应该使用哪些参数?
答案 0 :(得分:42)
这是将pdf文件(不是pdf / a)转换为pdf / a:
gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf
希望这会对某人有所帮助!
答案 1 :(得分:14)
@danio,@ imgen:即使是最近发布的关于PDF / X(标准化印前版要求)和PDF / A(标准化存档要求)一代的文档页面也颇具误导性。 (您的链接指向v8.63版本。)最后,它建议使用示例PDF*_def.ps
运行示例命令行已经生成了有效的PDF / A和PDF / X文件。
但是, 他们没有!
以下是其中一个示例命令,它本身是正确的:
gs \
-dPDFA \
-dBATCH \
-dNOPAUSE \
-dNOOUTERSAVE \
-dUseCIEColor \
-sDEVICE=pdfwrite \
-sOutputFile=out-a.pdf \
PDFA_def.ps \
input.ps
输出文件将声明本身为PDF / A(并且大多数PDF查看者会很乐意这样做),但输出文件会失败所有真正的一致性测试。
修复很简单:您需要编辑样本PDFA_def.ps
(对于PDF / X:您的PDFX_def.ps
)文件以匹配您的环境。旧文档版本中没有明确说明这些必需的编辑,并且提供的命令表明它可以开箱即用。
特别是在PDF / X的情况下,您 必须 指定要使用的有效ICC配置文件。
另请参阅更新文档(当前SVN中继版本):
答案 2 :(得分:11)
希望这个答案能帮助其他来自Google的人遇到同样的问题:
要将PDF转换为PDFA-1b或PDFA-2b,您可以使用Ghostscript。我建议你使用最新版本(今天是9.19)。
在Mac OS 中,您可能更喜欢使用自制程序:
brew install ghostscript
在Linux中,一些发行版带来了更旧的版本(rhel7 sports 9.07)。要下载完全独立的现代单文件ghostscript,请直接从网站下载:
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs919/ghostscript-9.19-linux-x86_64.tgz
如果您在20年后尝试上述链接时,请参阅ghostscript.com并搜索下载部分。 下载二进制版,除非您知道自己在做什么,否则不要去寻找源代码。
在Windows 中,我无法帮助您,但如果您设法安装它,如果您替换文件和gs可执行文件的位置,以下命令也将起作用。
gs-919-linux_x86_64 -dPDFA=1 -dNOOUTERSAVE -sProcessColorModel=DeviceRGB -sDEVICE=pdfwrite -o output_file.pdf /path/to/PDFA_def.ps -dPDFACompatibilityPolicy=1 input_file.pdf
请注意,output_file.pdf
和input_file.pdf
必须更改为输出文件(转换后的文件)和输入文件(要转换的文件)的名称。 /path/to/PDFA_def.ps
是您的文件PDFA_def.ps
的副本。
-dPDFA=1
适用于PDFA-1b。
-dPDFA=2
如果你想要PDFA-2b。
PDFA_def.ps
? PDFA_def.ps
是ghostscript用于创建PDFA文件的某种模板。棘手的部分是,由于某种原因,ghostcript带有一个非工作文件。
您需要编辑PDFA_def.ps
并包含有效ICC(颜色配置文件)文件的路径。从Adobe下载好的颜色配置文件:
wget http://download.adobe.com/pub/adobe/iccprofiles/win/AdobeICCProfilesWin_end-user.zip
在该zip文件中,找到一个名为AdobeRGB1998.icc
的文件,将其放在某处,然后将该文件的路径放在PDFA_def.ps文件中。
以下是PDFA_def.ps的一个版本,将PATH_TO_YOUR_ICC_FILE
更改为您的路径AdobeRGB1998.icc。
答案 3 :(得分:0)
如果您使用Windows,并且想显式创建PDF / A-1b文档(PDFCreator具有PDF / A-2b的输出选项,但没有PDF / A-1b的输出选项),则只需输入Artur描述的参数以上进入PDFCreator的ui设置,而没有文档名称的设置。启动PDFCreator,选择打印机菜单,然后进入设置。现在,从左侧的设置列表中选择'Ghostscript'
。在'additional ghostscript settings'
下,输入以下内容:
-dPDFA|-dBATCH|-dNOPAUSE|-dUseCIEColor|-sProcessColorModel=DeviceCMYK|-sDEVICE=pdfwrite|-sPDFACompatibilityPolicy=1
单击'Save'
,然后使用PDFCreator从MS Word或任何其他想要的应用程序中打印一些内容-它将在PDF / A-1b中创建。
问候, 弗里茨
答案 4 :(得分:0)
请注意,当前答案并不完全正确。您可以定义所需的PDF / A级别,从而导致程序行为不同。这是正确的:
gs -dPDFA -dBATCH -dNOPAUSE -sColorConversionStrategy=UseDeviceIndependentColor -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=2 -sOutputFile=output_filename.pdf input_filename.pdf
请注意我从 s dPDFACompatibilityPolicy更改为 d PDFACompatibilityPolicy。 将其更改为更高的编号以获取其他版本。如果不需要DOCINFO,则1为好。 此外,我们使用选项 UseDeviceIndependentColor 来避免验证问题。
如果您在此处更改选项,则很可能会得到不符合要求的PDF / A(即使其声明有所不同)。 您可以在此处查看pdf / a: https://www.pdf-online.com/osa/validate.aspx