[英]How to use ghostscript to convert PDF to PDF/A or PDF/X?
有沒有辦法使用 ghostscript 將 PDF 轉換為 PDF/A 或 PDF/X? 我知道它可以用於將PDF轉換為圖像,但我不知道它是否可以用於轉換PDF/A。 我應該使用哪些參數?
這是將pdf文檔(不是pdf/a)轉換為pdf/a: gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf
希望這會幫助某人!
希望這個答案可以幫助來自谷歌的其他人遇到同樣的問題:
要將 PDF 轉換為 PDFA-1b 或 PDFA-2b,您可以使用 Ghostscript。 我建議您使用最新版本(今天是 9.19)。
在 Mac OS 中,您可能更喜歡使用Homebrew :
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
在 Mac 中gs-919-linux_x86_64
將只是gs
。
請注意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://tutankhamon.acc.umu.se/mirror/archive/ftp.sunet.se/pub/vendor/adobe/adobe/iccprofiles/win/
在該 zip 文件中,找到一個名為AdobeRGB1998.icc
的文件,將其放在某處並將該文件的路徑放入 PDFA_def.ps 文件中。
這是PDFA_def.ps的一個版本,把PATH_TO_YOUR_ICC_FILE
你AdobeRGB1998.icc的路徑。
@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 主干版本):
請注意,當前的答案並不完全正確。 您可以定義所需的 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
如果您使用的是 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 中創建。
問候,弗里茨
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.