PDFファイルを入力として使用し、各ページのスクリーンショットを実際のサイズ(100%)で撮るスクリプトを作成したいと思います。したがって、次のようになります。custom_pdfcapture example.PDF
実行後のスクリーンショットは、フォーマットexample.PDF
に従うファイル名と同じディレクトリになければなりません${name_of_pdf}_${page_number}.pdf
。これを行うには、どのパッケージ/コマンドを調べる必要がありますか?
答え1
pdfseparate
このパッケージのツールは、poppler-utils
入力PDFファイルの単一ページを抽出できます。
例:
pdfseparate example.pdf example_%02d.pdf
printfスタイルのページ番号を表すexample.pdf
ページexample_01.pdf
、、example_02.pdf
...で区切ります。%02d
パッケージのツールとツールをpdftocairo
使用して、入力PDFファイルから画像を生成できます。pdftoppm
poppler-utils
例:
pdftocairo -r 300 -png example.pdf
pdftocairo -scale-to-x 800 -scale-to-y -1 -png example.pdf
どちらのコマンドも、指定されたドキュメントのすべてのページをexample-01.png
、、、example-02.png
...という名前のPNG画像としてレンダリングします。
最初のコマンドはxとyの解像度を300PPI(デフォルトは150PPI)に設定し、2番目のコマンドは出力幅を固定800ピクセル(-scale-to-x 800
)に設定し、出力の高さは-scale-to-y -1
アスペクト比()によって決まります。
JPEG(JPEG圧縮レベルの変更を参照)またはTIFF画像を使用または作成できます-jpeg
。-tiff
-png
-jpegopt
ドキュメントのMediaBoxがCropBox(Acrobatが表示して印刷する項目)よりも大きい場合は、オプションを追加します-cropbox
。
pdfinfo
パッケージに含まれているボックスのサイズを確認できます。
pdfinfo -box example.pdf
さまざまなレンダリングバックエンドを使用するユーティリティには、出力pdftoppm
イメージ(ここexample
)の接頭辞が必要です。出力は次のようになります。
pdftoppm -r 300 -png example.pdf example
その他のオプションについては、これら2つのコマンドのマニュアルページを確認してください。