再圧縮せずに多数のJPGイメージを1つのPDFに素早く結合するソフトウェア

私は、過去に「PDFに直接」オプションを持たないプリンタで多くの文書をスキャンしていたので、「Document1、Document2」というさまざまなフォルダがあります。各フォルダの中には、001.jpg、002.jpg、003.jpg、..のような多くのjpgがありました

私は1つのPDFファイルにそれらを結合したいと思います。最新のプリンタでは、JPGの「ストリーム」をカプセル化して各ページに1つずつ表示することで同じことができます。

私は単純な画像ビューアで、すべてを選択してPDFで印刷することでそれをやろうとしました。これにより、JPGですべての画像が再び圧縮され、いくつかの欠点がありました。

  • JPGの品質を選択しても画像が貧弱すぎる場合、超うっすらと圧縮されたものが世代の喪失をご覧ください。
  • 追加の世代損失を防ぐために100%近くの非常に高品質なJPGを選択すると、出力PDFのファイルサイズが大きくなります。

ここに私が考えていることがあります:

PDFファイルに保存された画像はJPGストリームに過ぎないため、元のJPGファイルを再圧縮せずに直接PD​​Fコンテナに組み込むことはできませんか?これはNO LOSSとNO RECOMPRESSIONを達成する最良の方法です!

場合は、そうするためにどのソフトウェアを使用できますか? PDFのために ffmpeg のようなものがあります(ストリームを別のコンテナにコピーするには ffmpeg -c:v copy オプションに行きます)?おそらく、ポストスクリプトのパーサは、jpgファイルのフォルダと多くのコマンドラインオプションをレンダリングして直接呼び出すことができますか?

すべてのオペレーティングシステムで使用できるコマンドラインソフトウェアを見つけることはいいことです。ただし、ソフトウェアはWindowsで実行する必要があります。


EDIT: Aside the main question of a multi-platform software, I was trying to understand why Adobe Acrobat itself isn't able to do it. In the advanced settings dialog it seems be possible with the option: Save original JPEG images in PDF if possible

Adobe PDF Setting: Save original JPEG images in PDF if possible

おそらく、ここでの問題は、JPGがAdobe Acrobat Distiller内で直接的にそれらを与える方法を再サンプリングして再処理する私の画像ビューアプログラムによって与えられるでしょう。

Should I just drag & drop the files inside Acrobat Application ?

14
このトピックで見つけたものに基づいて: 追加された 著者 Malachi,

5 答え

img2pdf

Website: https://gitlab.mister-muffin.de/josch/img2pdf/blob/master/README.md

img2pdfは、JPGイメージをPDFに直接埋め込む(つまり、無損失で、再圧縮なしで)コマンドラインインターフェイスを備えたPythonライブラリです。

私的使用

時折、高解像度のTIFFファイルを個々のPDFページに自動的に変換する必要があります。私はPowerShellスクリプトを利用して、TIFFをJPEGにダウンスケールし、.NET APIを歌い、img2pdf CLIを呼び出して複数のPDFを生成します。最終的に、PDFはpdftkを使用して他のいくつかのPDFファイルと結合されます。
結論は次のとおりです: img2pdfは私のワークフローにうまく収まり、私は間違いなくそれを推奨できます。
さらに、著者は一度提起した質問に非常に迅速に答えました。

インストール

Pythonが既にインストールされている場合は、

pip install img2pdf

使用法

  • Single JPG file:

    python.exe -m img2pdf inputImage.jpg -o output.pdf
    
  • Wildcards (in PowerShell):

    python.exe -m img2pdf $(gci myFolder/*.jpg) -o output.pdf
    

    A quick test revealed that img2pdf even seems to support spaces in file names.

  • Wildcards (in most *nix shells):

    python.exe -m img2pdf myFolder/*.jpg -o output.pdf
    
  • Converting many files at once

    In certain cases you can hit the maximum length of allowed command line strings . The limit varies per OS, e.g. you can use at least 2047 characters depending on your Windows version, on Linux you can run xargs to have a look at your current limits.

    In such cases, you can run img2pdf on individual files and later combine them using any PDF tool capable of doing so, e.g. pdftk:

    1. for /r %i in (*.jpg) do python -m img2pdf -o %i.pdf %i
      (Windows command prompt syntax)
    2. pdftk.exe *.pdf cat output combined.pdf

img2pdf's author josch is open to any pull requests incorporating built-in wildcard support for Windows: https://gitlab.mister-muffin.de/josch/img2pdf/issues/25#note_122

(多数のファイルを一度に変換し、その解決策を a href = "https://softwarerecs.stackexchange.com/questions/26084/software-for-fast-join-lot-of-jpg-into-one-pdf-with-recompressing/26102?noredirect=1#comment36876_26102" >コメント!)

10
追加された
@ user3450548遅く返事をおかけして申し訳ありません。私はちょうどあなたのための機能要求を提出しました: gitlab.mister-muffin.de/josch/img2pdf/issues/25 と入力します。
追加された 著者 Jonik,
@ user3450548実際には、この MSの記事のとおり、(最小)2047文字の制限に達する可能性があります。 cmd.exeコマンドライン文字列の制限)。あなたのコメントをありがとう、私は感謝してそれらを取り入れます!
追加された 著者 Jonik,
@ user3450548 img2pdfはワイルドカードをサポートしていません。幸い、cmd.exeではなくPowerShellを使用する場合は、 ./ python -m img2pdf $(gci myFolder/*。jpg)-o out.pdf と入力するだけです。
追加された 著者 Jonik,
ありがとうございました。 $(gci myFolder/*。jpg)は、そのディレクトリにある各ファイルに対して自動的にパスを繰り返すことになっていますか?そうすると、ある時点で破損する可能性のある極端な長いコマンドは出力されません。もし私が直接シェルを使用したいのであれば? python -m img2pdf -o%i.pdf%i を実行し、次に tool_for_join_pdf.exeフォルダ/ *。pdf を使用します。 >?
追加された 著者 Malachi,
ありがとう、男! ;)
追加された 著者 Malachi,
あなたは、著者がメッセージに返信することが非常にうれしく、そのgitウェブサイトに登録するのに困っているようだからです。ワイルドカードに名前を付けるプログラムを強化するように彼に頼むことができますか?どうもありがとうございます :)
追加された 著者 Malachi,
私の個人的なニーズに最も適しているので、私はこのソリューションを選んだ後、しばらくしてから。ファイルの出力は余分な境界線なしでもうまくいきますが、明らかに他の人が他の解決策を見つけることもできます。
追加された 著者 Malachi,
あなたは歓迎ですが、著者にメールを送り、ワイルドカードを受け入れるために彼がimg2pdfを変更できるかどうか尋ねるのは嬉しいことです。彼にとって本当のマイナーな変更ですが、私たちのための「黄金」とは、その方法で概念的に。私は彼のメールを見つけることができません:(
追加された 著者 Malachi,
可能なワークフローは、 pdftk.exe * .pdf cat output combined.pdf のようなpdftkツールを使用してpdfファイルに参加することができます。
追加された 著者 Malachi,
一度に複数のファイルを処理するために使用できますか?私が img2pdf -o output.pdfフォルダ/ *。jpg のようなものを使用しようとすると、いくつかのエラーが発生します!私はすべてのファイルを処理するためにいくつかのバッチを書いた後、別のユーティリティと様々なPDFに参加する必要がありますか?
追加された 著者 Malachi,

PDFJam

PDFJam, part of texlive, is a wrapper script that provides a front-end to the LaTeX pdfpages utility.

このスクリプトは、JPGおよびPNG画像とPDFファイルを受け入れ、それらを連結します。入力は再圧縮されず、PDFストリームに埋め込まれます。

使用法

次のコマンドは、 XXX-joined.pdf という名前の現在の作業ディレクトリに出力ファイルを作成します。 XXX はコマンドライン上の最初のファイルの名前です。

     PDFJam --fitpaper true --rotateoversize true --suffix joined /path/to/*.jpg

プラットフォーム

  1. Windows

    Download and install Cygwin. Be sure to select the texlive-collection-binextra package:Installation of the texlive-collection-binextra package

  2. Arch Linux-based distributions

    Use pacman to install texlive-core.

  3. Debian-based (Ubuntu and others)

    The tool is distributed as part of the texlive-extra-utils package.

6
追加された
あなた、私は元の投稿を変更しました。 Cygwinを使うことで、ほぼマルチプラットフォームと言えるでしょう。今私は答えを受け入れることができましたが、コミュニティの知識を向上させるために、私はまだ他の多くのオプションが来るかどうかを待っています。あなたの答えは確かにupvotesの多くのために値するが、私は評判の欠如のために実際に行うことはできません:(希望SRコミュニティーのより多くのヘルプで!
追加された 著者 Malachi,
PDFJamのウェブサイトでは、PDFを扱うことができるJavaベースのパッケージである多価についてもいくつか言及していますさらに完全である)。 WindowsでのPDFJamはCygwinといくつかのセットアップが必要なので、MultivalentにはJavaが必要ですが、Java拡張機能にインストールされていない場合は、少なくとも java -classpath /path/to/Multivalent.jar tool.XXX [options] files しかし、私は多価情報が画像を再圧縮せずにPDFJamのようにしたいと思っている方法で画像を含んでいるかどうかわかりません!たぶん私は彼らにメールを送り、尋ねることができます:)
追加された 著者 Malachi,
最後に export PATH = $ PATH:/ home/user/pdfjam/bin 行を追加して .bashrc を編集してください。この時点で、Cygwin端末を再起動し、彼の答えにbaitisjが記述したコマンドを使うことができます。
追加された 著者 Malachi,
私はそれを他のユーザーを助けるために私のインストールの詳細を共有するので、私はそれがWindows上で実行されるように管理されます。しかし、私はまだネイティブウィンドウコマンドラインプログラムを探しています。これは以下のようになります:パッケージの選択時に、インストール中に(または、次回のセットアップをもう一度やり直してから)Cygwinをインストールします(x64 verを使用しました)。 texlive 、< code> texlive-collection-basic 、 texlive-collection-latex texlive-collection-latexrecommended PDFJamパッケージをダウンロードして/home ディレクトリに置いて、 .bashrc ファイルを編集してください。
追加された 著者 Malachi,
ありがとう、私はまたこれを見つけました: gitlab.mister-muffin.de/josch/ img2pdf/tree/master 問題は私がWindows上にいることです。ウィンドウのコマンドラインのexeポートを見つけることができますか? cygwinのようなものを使わないと?
追加された 著者 Malachi,
追加された 著者 SeanR,
@ user3450548 - 元の質問にプラットフォームの要件を追加すると便利かもしれません:-)
追加された 著者 SeanR,

Adobe Acrobatの

3つのソリューションの中で最高のものではない場合は、下記のPDFJamもご確認ください

私はコミュニティに貢献するためにこの答えを追加します。しかし、私はそれを投票しません。なぜなら、この答えは二次的な要件を考慮に入れずに主要な話題にだけ解決策を提供するからです。

  • 無料
  • コマンドライン
  • マルチプラットフォーム

Adobe Acrobatの itself allows to join multiple JPGs files together apparently without applying a recompression.

インタフェースはさまざまな方法で呼び出すことができます。対応するイメージを表示します。

多くのファイルを選択して右クリックすると、次のようになります。

Combine Files called by right click

By hitting the create button in Adobe Acrobatの Pro:

Combine Files called by Acrobat main window

In any case the Adobe Acrobatの will open the Combine Files window allowing you to select files or folder to add:

Combine Files interface

メディア設定ファイルのサイズを選択したままにしておくと、既定のオプションで作業している場合(Adobe PDF標準設定を変更していない場合)、JPGが組み込まれた単一のPDFファイルが出力されます。

336 MBのディスク容量を持つ385個のJPGファイルをテストしたところ、337 MBのファイルに1 MBのオーバーヘッドが追加されていました。

PDFJamスクリプトでは、overeadはゼロに近く、336 MBのPDFファイルになりました。また、標準設定を保持することにより、AcrobatはA4またはLetterサイズでイメージを伸ばします。比較のPDFJamはちょうどそれぞれのページがJPGサイズにぴったり合ったpdfを作成しました。

これはおそらく、両方のプログラムのオプションを調整することによって、デフォルトを維持することによって、同様の出力が得られることは明らかです。

3
追加された

jpeg2pdf

これは、再圧縮せずにJPGからPDFファイルを作成するための小さなコマンドラインツールです。

Get it here: http://jpeg2pdf.sourceforge.net/

特徴

  • 元のJPGをPDFで保存する
  • さまざまな用紙サイズオプション(画像サイズに切り抜きを含む)
  • さまざまな拡大縮小オプション(元の画像縮尺を保存することを含む)

使用法

jpeg2pdf *.jpg -o document.pdf

詳細については、readmeおよび組み込みヘルプを参照してください。

プラットフォーム

それはクロスプラットフォームだと言いますが、私はWindows上でのみテストしました。 Unixライクなシステム上のCソースコードからコンパイルする必要があるようです。

2
追加された

PDFまたはXPSへの画像

(以前のJPEGtoPDF)

これは、VB.NETで書かれたWindowsのGUIアプリケーションです。オリジナルのJPGデータをPDF出力に保存すると主張していませんが、テストしたときには元のJPGデータは実際に保存されていました。

Get it here: http://compulsivecode.com/Project_ImageToPDF.aspx

jpeg2pdf と比較して遅い可能性があります。しかし、インストールは必要ありません。使用するのが簡単です。コマンドラインに慣れていない人にとっては便利です。

PDFまたはXPSへの画像 Screenshot

2
追加された
あなたの提案をしていただきありがとうございます;)
追加された 著者 Malachi,
質問は..それは再圧縮/再エンコードするのですか?この場合、答えは受け入れられません。
追加された 著者 Malachi,
@ user3450548、それは元のJPEGデータを保存すると主張していませんが、私はそれをテストしたときに(xpdfbin pdfimages -j コマンドを使ってJPGとWindowsの fc コマンドを使用してそれらをオリジナルと比較する)、PDFのJPGデータはオリジナルと同じでした。
追加された 著者 geoffmcc,