2016-10-28 11 views
0

複数のpdfsファイルの特定のページのみを1つのpdfファイルにマージすることを試みています。それをすることは可能ですか? 私は試してみてください。ghostscript:複数のpdfから1つのpdf異なるページをマージする方法

'は/ usr/local/binに/ GS' '-dBATCH' '-dNOPAUSE' -q -sDEVICE = pdfwrite -sOutputFile = finished.pdf pdf1.pdf pdf2.pdf ...

それは動作しますが、すべてのpdfページをマージします。私は誰かだけが必要です。

ES:10ページ

と5ページ PDF2.pdfと PDF1.pdf私はPDF2.pdfのPDF1.pdfと3ページの1ページ目とfinished.pdfを持ちたい...

答えて

1

まず、Ghostscript(とpdfwriteデバイス)は、ではなく、 'merge'、 'concatenate'、 'modify'、 'edit'などのPDFファイルを作成します。

入力をGhostscriptに入力すると、Ghostscriptが完全に解釈され、一連のグラフィックスプリミティブが生成され、デバイスに渡されます。低レベルのデバイスの場合、これらはグラフィックスライブラリを使用してプリミティブをビットマップにレンダリングします。ハイレベル(またはベクトル)デバイスは、どのような出力フォーマットであってもグラフィックプリミティブと同等のものを作成し、それを出力します。

したがって、pdfwriteの出力はPDFファイルです。そのPDFファイルの内部は、たとえ入力がPDFファイルであっても、入力とは関係がありません。予想される唯一のことは、見た目は同等でなければならないということです。

つまり、PDFインタプリタによってPDFファイルから大量の「メタデータ」が抽出され、pdfwriteデバイスに渡されるため、PDFと同じように見えます。しかし、あなたが出てくるPDFファイルは、あなたが始めたものではないことに気づかなければなりません。

GhostscriptのPDFインタプリタは、一度に1つのPDFファイルしか処理できません。したがって、あるPDFファイルからページを解釈し、別のPDFファイルのページを次に最初のページフォームなどを解釈する方法はありません。

Ghostscriptを使用する唯一の方法は、対処したい各ファイルのページごとに1つのPDFファイルを作成することです(OutputFile =%d.pdfを設定してページごとに1つのPDFを作成する)、Ghostscriptをもう一度実行して、各ページを必要な順序で順番にGhostscriptに送ります。一度に1つのPDFファイルのみを扱うため、これは機能します。

または、というツールを、とすると、Ghostscriptは実際にはそうではありません。

+0

ok、まさに私がやっていることです。どうも –

関連する問題