変換を使用して、PDFファイルから特定のページを取得しますか?


21

私は以前にこれを行ったことを知っているので、それが可能であると確信しています、私はそれを行う方法を忘れています。convertにPDFの特定のページを取得するように指示する方法があり、そのページの形式をPDFのままにしておきたいと思います。

回答:


24

ImageMagickはビットマップ画像用のツールですが、ほとんどのPDFはそうではありません。使用すると、データがラスタライズされますが、これは望ましくないことがよくあります。

Pdftkは、PDFファイルから1つ以上のページを抽出できます。

pdftk A=input.pdf cat A42 A43 output pages_42_43.pdf

PDFLaTeXでLaTeXをインストールしている場合は、pdfpagesを使用できます。pdfpagesのシェルラッパーpdfjamがあります。

pdfjam -o pages_42_43.pdf input.pdf 42,43

別の可能性(ここではやり過ぎですが、1ページより複雑な要件には役立ちます)は、PyPdfライブラリを備えたPythonです。

#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for i in [42, 43]:
    output.addPage(input.getPage(i))
output.write(sys.stdout)

私もお勧めしようとしpdftkていた。あなたはそれを使いたいでしょう。
セバスチャン

pdfjamチャームのように動作し、すでにLaTeXディストリビューションとともにインストールされています。使い方はとても簡単です。
hdl

どうもありがとう。抽出されたページは完全なpdfよりも大きかったため、pdftk単純にページを抽出したようには見えません。それ以外の場合、結果は良好でした。
エリックドゥミニル

25

添え字表記を使用convert(1)してPDFに「インデックス付け」できます。

$ convert source.pdf[1] dest.pdf 

インデックス値は、PDFエクスポーターがページに番号を付けた方法によって異なります。ここでのファイルのテストでは、数字は0から始まるように見えるため、上記の例ではドキュメントの2ページ目を取得します。PDFの作成者がその文書内のページをそのように「番号付け」したように見えるため、文字インデックスを代わりに表示する例をオンラインで見ました。

残念ながら、ImageMagickはすべてがピクセルベースであると想定しているため、典型的なPDFのタイポグラフィなどのベクター画像をラスタライズするため、これはあまり良い結果をもたらしません。

このジョブに適したツールはGhostscriptで、おそらく既にインストールされています。

$ gs -dNOPAUSE -dBATCH -dFirstPage=2 -dLastPage=2 -sDEVICE=pdfwrite \
    -sOutputFile=dest.pdf -f src.pdf

GhostscriptはPDF(PostScriptの派生物)をImageMagickよりもはるかに深いレベルで理解するため、これはPDFデータを変更せずに渡します。


2
実際、imagemagickについてはそうではありません。-densityパラメーターを300〜400程度に設定すると、pngのpdfから出力されるテキストは問題なく表示されます。
buggedcom

2
確かに画面上ではきれいに表示されますが、印刷する場合は、密度をさらに高く設定する必要があります。そして、プリンタのRIPがImageMagickが出力するグレーのアンチエイリアスピクセルにどのように対処するかで問題が発生する可能性があります。そのため、代わりに、プリンターのネイティブ解像度(1200 dpi、1,440 dpiなど)で1ビット白黒に出力することを選択できます。鮮明な出力を得るには、事前にそれを知る必要があります。いいえ、できる限り長くベクトル形式でPDFデータを保持することをお勧めします。
ウォーレンヤング

私が見つけた@buggedcom -density 300はスイートスポットです。何か大きな、あなたは巨大な一時ファイル作成している-あなたはおそらくとにかくサムネイルにダウンサイズを変更しようとしている
マイク・コーサー

2
次のようにページの範囲を選択することもできます(たとえば、gifを作成するため)source.pdf[3-6]
-texasflood
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.