Linuxのコマンドラインから一連の画像をPDFに変換するにはどうすればよいですか?[閉まっている]


215

私はcgi / bashで作成したスキャンサーバーがあり、コマンドラインから一連の画像(すべて1つのフォルダー内)をPDFに変換できるようにしたいと考えています。どうすればできますか?


一連の画像からPDFを生成する方法もご覧くださいスーパーユーザー。
zrajm


7
ImageMagickではなくimg2pdfを使用してください。ImageMagickはJPEGをデコードするため、世代損失発生し、img2pdfよりも10〜100倍遅くなります。
ロバートフレミング

1
sudo apt-get install gscan2pdf シンプルで使いやすい。
M Haziq 2018年

1
img2pdf $(find . -iname '*.jpg' | sort -V) -o ./document.pdfdocument.pdf現在のディレクトリにjpgまたはJPG拡張子が付いたすべての画像が含まれます-ページごとに1つの画像。document.pdfすべての画像が自然にページとして順序付けられる(の-Vオプションsort)ため、画像ファイルに番号を付けるときに先行ゼロを追加する必要はありません。
Jimmix

回答:


411

imagemagick使用すると、次のことを試すことができます。

convert page.png page.pdf

または複数の画像の場合:

convert page*.png mydoc.pdf

7
page * .pngがイメージを希望どおりにソートしない場合はどうなりますか?例:page_1.png、page_2.png ... page_10.png-> page_10はpage_1の前に表示されます
vcarel

38
ファイルをソートするには、使用することができます:ls page*.png | sort -n | tr '\n' ' ' | sed 's/$/\ mydoc.pdf/' | xargs convert
GaloisPlusPlus

26
参考までに、ファイルの表示以外の目的で使用する必要はほとんどありlsません...つまり、出力を解析しないでください。findはるかに適切なツールです。例を示しconvert $(find -maxdepth 1 -type f -name 'page*.png' | sort -n | paste -sd\ ) output.pdfます。パス名にスペースが含まれている場合、前述のコマンドは機能しないことに注意してください。エスケープする必要のある文字を追加すると、状況が少し複雑になります。
シックス・

20
これはシンプルで非常にうまく機能します。ありがとうございます。巨大なPDFファイルの生成を回避するには、次のようなものを使用しますconvert -compress jpeg -quality 85 *.png out.pdf
jlh

13
ImageMagickはJPEGをデコードするため、世代損失発生します。代わりにimg2pdfを使用してください。また、10〜100倍高速です。
ロバートフレミング

13

http://www.imagemagick.orgconvertから使用してください。(ほとんどのLinuxディストリビューションでは、パッケージとしてすぐに提供されます。)


30
ImageMagickはJPEGをデコードするため、世代損失発生します。代わりにimg2pdfを使用してください。また、10〜100倍高速です。
ロバートフレミング

9
注:img2pdfはgitlab.mister-muffin.de/josch/img2pdfに移動しました
ケルビン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.