web-dev-qa-db-ja.com

PDFファイルから画像を抽出する方法

現在、FoxitのPDFリーダーを使用しています。最近インターネットから画像をダウンロードしましたが、PDFファイル内にあります。この画像を抽出するにはどうすればよいですか?

オペレーティングシステムはWindows 7です。

52
studiohack

画像の元のピクセル解像度が必要ない場合の簡単な方法は、ALTキーとPrint Screenボタンを押すことです。次に、イメージを配置する場所に貼り付けます。

解像度を維持するもう1つの方法は、PDF=をAdobe Photoshopなどの画像編集プログラムで開いて、そこで作業することです。

4
UserSuUserDo

XPDF for Windows( ここ )をダウンロードすると、中にいくつかの.exeファイルがあります。 「インストール」なしで実行できます。次のようにpdfimages.exeを使用します。

pdfimages.exe -help

ヘルプ画面が表示されます。

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

これにより、すべてのJPEGがprefix-00N.jpgとして抽出され、他のすべての画像がprefix-00N.ppm(ポータブルPixMap)として抽出されます。

[ComFreekによる編集:宛先パスの末尾のスラッシュに注意してください。これは、抽出したくない場合に重要ですすべての画像をその親ディレクトリに格納します。]-
{編集者:KurtPfeifle:私はComFreekのコメントに同意しませんが、読者に任せてくださいテストして、結果自体の違いを見つけます。 ..\prefixが末尾のスラッシュを使用しない私の元のパラメーターは、抽出されたファイルに使用される画像namesの前に付けられます。}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

以前と同じですが、イメージの抽出を11ページ( 'f' =最初)から13( 'l' =最後)に制限します。


更新:

その間、私は Popplerのバージョンのpdfimages を好みます。特に、この新しい機能を取得したため:コマンドラインに-listを追加して、画像を一覧表示(抽出ではない)します。 PDFに含まれているものと、そのプロパティの一部。例:

 pdfimages -list -f 7 -l 8 ct-magazin-14-2012.pdf 
 
 page num type width height comp comp bpc enc interp object ID 
 -------------------------------------------------- ------------------- 
 7 0画像581 838 rgb 3 8 jpeg no 39 0 
 7 1画像4 4 rgb 3 8画像no 40 0 
 7 2画像314332 rgb 3 8 jpx no 44 0 
 7 3画像358430 rgb 3 8 jpx no 45 0 
 7 4画像4 4 rgb 3 8画像番号46 0 
 7 5画像4 4 rgb 3 8画像番号47 0 
 7 6画像4 6 rgb 3 8画像番号48 0 
 7 7画像596 462 rgb 3 8 jpx no 49 0 
 7 8 image 4 6 rgb 3 8 image no 50 0 
 7 9 image 4 4​​ rgb 3 8 image no 51 0 
 7 10 image 8 10 rgb 3 8 image no 41 0 
 7 11 image 6 6 rgb 3 8 image no 42 0 
 7 12 image 113 27 rgb 3 8 jpx no 43 0 
 8 13画像582 839グレー1 8 jpeg no 2080 0 
 8 14画像344 364グレー1 8 jpx no 2079 0 

注意再度:このバージョンのpdfimagesはPopplerからのものです(XPDFからのものはではありません(まだ?)この新しい機能をサポートしています)、バージョンはv0.20.2以降である必要があります。

74
Kurt Pfeifle

PDF into Inkscape にインポートして、そこから作業することができます。Inkscapeは一度に1ページしか開きませんが、ページの内容を完全に制御できます。 PDFからベクトルグラフィックを簡単に抽出して操作することができます。

ただし、PDFからラスターイメージを抽出する場合は、XPDFからのpdfimagesの方が簡単です(ただし、学習後にInkscapeを使用してみることができます SVGファイルから埋め込みイメージを抽出する方法) )。

8

ソフトウェアをインストールしなくても、この機能が既にビルドされている PDF-XChange Viewer (selectPortable Version)に切り替えることができます-に

  • すべてまたは選択したページを画像としてエクスポートします
  • 出力フォーマット:PNG、JPG、TIFF、BMP
  • dPI、圧縮レベル、グレースケールを選択
  • 複数ページをマルチページTIFFとして保存できます

    enter image description here

    enter image description here
    拡大するにはクリックしてください


この方法はPDFページ全体を画像に変換しますが、PDFページから画像を抽出する場合は、@ Laurenz Sumatra PDFを使用 で説明されている方法が優れています。画像のみを取得する混合コンテンツ(画像+テキスト)。

5
nixda

Sumatra PDF は高速で軽量のオープンソースPDFリーダーであり、再ラスタライズせずに画像を直接クリップボードにコピーできます。

4
Laurenz

MuPDF は新しい(2006年に作成された)マルチプラットフォーム(デスクトップおよびモバイル)PDF AGPLライセンスの下でリリースされたビューアー Ghostscript と同じ人々によって保守されています。

PDFから画像を抽出するコマンドラインツールが含まれています。

mutool extract [options] file.pdf [object numbers]

Extractコマンドを使用して、PDFから画像とフォントファイルを抽出できます。コマンドラインでオブジェクト番号が指定されていない場合、すべての画像とフォントが抽出されます。

-p password
       Use the specified password if the file is encrypted.

-r     Convert images to RGB when extracting them.
3

poppler toolkitpdftocairoを使用します。 PDFの画像を抽出して任意の形式に変換できます。それは常に画像を生成し、そのようなppmまたはいくつかのクラップスを生成することはありません。次のコマンドは、pdfページをjpg画像に変換します。

pdftocairo.exe -jpeg "my.pdf" "my"

Windowsの場合は、ここから取得できます。 http://blog.alivate.com.au/poppler-windows/

Linuxでも利用できます。

2
MSS

http://www.sumnotes.net/ は、メモ、ハイライト、画像を抽出するオンラインツールです。大学で論文を多用し、とても満足しました。

1
Timothy

フォルダーとサブフォルダー内のすべてのPDFファイルをJPEG画像に変換するようにPopplerに命令するPowerShellスクリプトを作成しました。

$pdf2jpg = "C:\Prog2\poppler-0.68.0_x86\poppler-0.68.0\bin\pdftocairo.exe"
$input = "I:\Book\"
$output = "F:\Book2jpeg\"

new-item $output -itemtype directory

Get-Childitem -path $input -filter *.pdf -recurse | foreach {         
    & $pdf2jpg -jpeg $_.Fullname $output\$_
    }
0
qwery