PNG画像を1つのPDFファイルにマージする[終了]


89

.pngUnixで複数のファイルを1つのPDFファイルにマージするにはどうすればよいですか?

回答:


149

ImageMagickのドキュメントを見ると、次のように簡単かもしれません。

convert 1.png 2.png myfile.pdf

それがうまくいかない場合、PDFjamは問題を解決できると主張します。


5
すごいです。とても簡単。それは自動的に画像とすべてのサイズを変更します。私はオープンソースが大好きです。
Nathan Wallace 14

ドキュメントの品質または生成されるPDFのファイルサイズを制御する方法はありますか?最大ファイルサイズが2.5 MiBのドキュメントをアップロードする必要があります。-qualityオプションを試してみましたが、ファイルサイズは常に9.5 MiBです。
arielnmz 14

既存のPDFに画像ファイルを追加することは可能ですか?
キランレディ

3
指定したタイプのフォルダ内のすべてのファイルを使用して変換しますconvert *.jpg file.pdf
haakym

2
@arielnmz、パラメーターを使用してファイルを圧縮できます-compress jpeg -quality 50私の回答を
マイケルシュミッド

36

一部のスキャンを1つのPDFファイルにマージする場合は、次のようにします。

pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png

これにより、DIN-A4ページサイズのPDFドキュメントが作成され、すべてのpngファイルが独自のページに中央揃えされます。1つのDIN-A4ページに対して大きすぎる画像は、1ページに収まるように比例してサイズ変更されます。小さい画像はサイズ変更されません(大きくなりません)。

pngコマンドラインですべてのファイルに名前を付ける必要がありますが、ワイルドカードを使用して、たとえば現在のディレクトリにあるすべてのpngファイルをマージすることもできます。

pdfjoin --a4paper --fitpaper false --rotateoversize false *.png

pdfjoinエレミヤWillcockでの回答で述べたように、コマンドはPDFjamの一部です。したがって、ほとんどの場合、ディストリビューションパッケージマネージャーという名前のパッケージをインストールするpdfjam必要texlive-extra-utilsがあります。PDFjamはpng、2010-11-13にリリースされたバージョン2.07以降、入力としてファイルを使用できます。


pdfjoinがなくなったようで、いくつかのPDFファイルを1つに結合するpdfuniteと呼ばれる別のツールしかありません...
Gregor

1
@Gregor pdfjoinがなくなったと言うのはなぜですか?
Pascal Rosin

@Pascal_Rosinは、DebianでもArchリポジトリでもそれを見つけることができませんでした...
Gregor

2
pdfjointexlive-extra-utils一部のプラットフォームでは、パッケージに含まれています。いつでもソースからインストールすることもできます。
Mahmoud Al-Qudsi

10

ImageMagick変換ツールが私の好みです。

変換プログラムは、ImageMagickツールスイートのメンバーです。これを使用して、画像フォーマット間の変換や、画像のサイズ変更、ぼかし、クロップ、スペックル除去、ディザリング、描画、反転、結合、再サンプリングなどを行います。

convert [input-option] input-file [output-option] output-file`

画像ファイル(したがって、その品質とファイルサイズ)を変更せずに、PDFコンテナをそれらの周りに配置するだけの場合:

convert In.png In-2.png Someother-*.png Result.pdf

ファイルサイズを小さくしたい場合で、品質を落としても問題ない場合は、まずJPEG形式に変換できます。(ImageMagickはPNG圧縮レベルの変更もサポートしていますが、通常、入力ファイルはすでに最高レベルを使用しています。)

convert 1.png 2.png -compress jpeg -quality 50 Result.pdf

qualityオプションには0〜100の値を使用してください。

または、画像を特定の解像度にリサンプリングして、ファイルサイズ(および品質)を低くすることもできます。

convert *.png 2.png -resample 300 Result.pdf

の値は、resampleインチあたりのピクセル数を示します。ImageMagickは、入力画像のEXIF部分から元の密度を読み取り、72 dpiにフォールバックします。densityパラメータを使用して、入力画像のカスタム解像度を設定できます。

あなたはもちろんのも組み合わせることができcompressqualityおよびresampleパラメータを。


ここの誰もが操作を元に戻す方法を知っていますか?
Andrei Cioara 2018年

画像ファイルは削除されませんが、安心してコピーすることができます。また、stackoverflow.com / questions / 42928765 / … が機能する前に解決する問題がありました。
Audrius Meskauskas

画像をPDFに変換する問題が見つかり、「変換は許可されていません」というエラーが表示される場合は、この回答を確認してください:askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
Tuhin

最近、imagemagickはデフォルトでPDF変換を拒否します。この問題が発生した場合は、この質問を参照して、このポリシーを変更する方法を理解してください。stackoverflow.com/questions/52998331/...
user2565010

5

私はこれを盗みましたが、これはジェレミア・ウィルコックと別の回答Webサイトから使用した解決策です。現在、歴史を掘り下げていません。私は嘘をついた、私はやった。(Tully @ https://askubuntu.com/a/626301
メールを送信するのに十分なサイズのファイルが必要でした。

画像をPDFに結合するには(作業ディレクトリから)コマンドラインを使用します。

user@box:/home/user/scans/:$ 
convert 1.png 2.png convertoutput.pdf

結合後にghostscriptを使用して縮小するには(kdeデフォルトシステムでほぼ使用しました):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
   -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
   -r150 -sOutputFile=output.pdf convertoutput.pdf

私のファイルには14枚の画像が含まれていました(変換後19MB、gsはそれを1.6MBにしましたが、品質は依然として優れていました)。出力ファイルはと呼ばれoutput.pdfます。


パラメータを使用して、convertでファイルを直接圧縮できます-compress jpeg -quality 50私の回答を
マイケルシュミッド

@MichaelSchmid変換による圧縮はそれほど効果的ではありません。gsソリューションが解像度を変更するのに対し、それはjpeg品質を低下させるだけです。高解像度の画像で試してみると、極端に低いjpg品質を求めても、サイズの違いがどれほど大きいかがわかります。
mak

はい、実際にリサンプリングはJPEG圧縮よりも効果的です。そしてImageMagickもそれをサポートしています。私は私の答えにそのオプションを追加しました。
Michael Schmid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.