web-dev-qa-db-ja.com

ghostscriptを使用してPDFをPDF / AまたはPDF / Xに変換するには?

Ghostscriptを使用してPDFをPDF/AまたはPDF/Xに変換する方法はありますか?PDF画像に変換できますが、 PDF/Aの変換に使用できるかどうかわかりません。どのパラメーターを使用すればよいですか?

37
imgen

これは、pdfドキュメント(pdf/aではない)をpdf/aに変換することです:gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf

これが誰かの助けになることを願っています!

46
Artur

この回答が、同じ問題を抱えるGoogleから来ている他の人に役立つことを願っています。

PDFからPDFA-1bまたはPDFA-2bに変換するには、Ghostscriptを使用できます。最新バージョン(今日は9.19)を使用することをお勧めします。

インストールする

Mac OSでは、homebrewを使用することをお勧めします。

brew install ghostscript

Linuxでは、いくつかのディストリビューションは、はるかに古いバージョンをもたらします(rhel7 sports 9.07)。完全に独立した最新の1ファイルのみの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ファイルを作成するために使用するテンプレートの一種です。トリッキーな部分は、何らかの理由で、ゴーストクリプトには動作しないファイルが付属していることです。

PDFA_def.psを編集し、有効なICC(カラープロファイル)ファイルへのパスを含める必要があります。アドビから適切なカラープロファイルをダウンロードします。

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のパスに変更します。

https://Gist.githubusercontent.com/weltonrodrigo/19df77833f023fbe1572168982e4b515/raw/ea86e87379d14120d7ff26f6f235ac7eeb5f5dd5/PDFA_def.ps

15
motobói

@ danio、@ imgen:最近リリースされたPDF/X(標準化されたPrepress要件)およびPDF/A(標準化されたアーカイブ要件)生成に関するドキュメントページでも、誤解を招く恐れがありました。 (あなたのリンクはv8.63リリースを指しています。)最後に、サンプルPDF*_def.psを使用してサンプルのコマンドラインを実行すると、有効なPDF/AおよびPDF/Xファイルが既に生成されていることが示唆されました。

しかし、彼らはしません!

サンプルコマンドの1つを次に示しますが、それ自体は正しいものです。

  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の場合[〜#〜] must [〜#〜]特定使用する有効なICCプロファイル。

これに関する更新されたドキュメント(現在のSVNトランクバージョン)も参照してください。

14
Kurt Pfeifle

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'、その後、MS WordまたはPDFCreatorを使用して必要な他のアプリケーションから何かを印刷します-PDF/A-1bで作成されます。

あいさつ、フリッツ

0
Fritz R.

現在の回答は完全に正しいものではないことに注意してください。必要なPDF/Aのレベルを定義して、プログラムの動作を変えることができます。これは正しいです:

gs -dPDFA -dBATCH -dNOPAUSE -sColorConversionStrategy=UseDeviceIndependentColor -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=2 -sOutputFile=output_filename.pdf input_filename.pdf

sdPDFACompatibilityPolicyからdPDFACompatibilityPolicyへの私の変更に注意してください。他のバージョンを取得するには、それをより大きな数値に変更します。 1は、DOCINFOが必要ない場合に適しています。さらに、オプションUseDeviceIndependentColorを使用して、検証の問題を回避します。

ここでオプションを変更すると、おそらく準拠していないPDF/Aが表示されます(たとえそれが異なって記述されていても)。ここでpdf/aを確認できます: https://www.pdf-online.com/osa/validate.aspx

0
Cyderic