イメージファイルをPDFファイルに変換してマージする方法は?

イメージファイルをPDFファイルに変換してマージする方法は?

私のディレクトリには約190個の画像ファイル(pngとjpg)があります。詳細は、各画像のサイズが2500 x 3072ピクセル、約500KBです。

ImageMagikのコマンドを使用してconvertPDFファイルに変換して結合しました。

convert * my.pdf

80MB PDFファイルを作成するには、約10GB(最大)と4時間かかります。 /tmp空き容量(実際には私のパーティション)/が十分ではなかったため、最初は実行できませんでした。その後、空き容量が十分な外付けハードドライブを見つけ、TMPDIRそれを指すように環境変数を設定する必要がありました。

convert外付けハードドライブなしで画像をPDFファイルに変換してマージできるPDF以外のソフトウェアがあるかどうか疑問に思います。それとも、この種の変換と組み合わせには通常、ディスクに同じ量の一時スペースが必要ですか?

イメージファイルの詳細は次のとおりです。

$ exiftool 1.jpg 
ExifTool Version Number         : 8.60
File Name                       : 1.jpg
Directory                       : .
File Size                       : 453 kB
File Modification Date/Time     : 2014:11:15 13:41:55-05:00
File Permissions                : rwxrwx---
File Type                       : JPEG
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
Image Width                     : 2500
Image Height                    : 3072
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 2500x3072

$ exiftool 2.png 
ExifTool Version Number         : 8.60
File Name                       : 2.png
Directory                       : .
File Size                       : 310 kB
File Modification Date/Time     : 2014:11:15 13:50:58-05:00
File Permissions                : rwxrwx---
File Type                       : PNG
MIME Type                       : image/png
Image Width                     : 2500
Image Height                    : 3072
Bit Depth                       : 8
Color Type                      : Grayscale
Compression                     : Deflate/Inflate
Filter                          : Adaptive
Interlace                       : Noninterlaced
Pixels Per Unit X               : 11929
Pixels Per Unit Y               : 11929
Pixel Units                     : Meters
Image Size                      : 2500x3072

答え1

たぶん長いチャンスかもしれませんが、pdflatex私は次のスタイルで(スクリプトなどを使用して)ファイルを作成します。

\documentclass{report}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=0.95\textwidth]{img000}\par
\includegraphics[width=0.95\textwidth]{img001}\par

[...]

\includegraphics[width=0.95\textwidth]{img200}\par
\end{document}

それからpdflatex file。構成が高速です。 LaTeXを知っていれば、画像の外観や位置を変更したり、タイトルを追加したりするなど、簡単に作業できます。

問題は、ファイルがかなり大きい場合が多いことです。 500K以上のjpg 200個でテストしました。 i5/16G RAMで実行するのに約7秒かかり、800MBのPDFを提供しました。私はそれを使用してサイズを縮小しようとしました。

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=lowres.pdf file.pdf 

...8分間実行されましたが、RAMをあまり使用しません。圧縮について言及できません。それはgs私がそれを上回り、私が同じ画像を200回使用して50k PDFに圧縮したことを発見したからです...これは明らかに真実ではありません。

答え2

残念ながらconvertjpg使用する必要がある元の画像の品質損失を最小限に抑えるように前の画像を変更するには、img2pdf次のコマンドを使用します。

img2pdf機能のみを使用する短いシングルライナーソリューション

  1. PDFの作成

    img2pdf *.jp* --output combined.pdf

  2. OCR出力PDF

    ocrmypdf combined.pdf combined_ocr.pdf

元のコマンドは次のとおりです。より多くのコマンドとツールが必要です。

1)解像度や品質を失うことなく、画像pdfごとに1つのファイルを生成することです。jpg

ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf

2)これにより、pdfページが1つにまとめられます。

pdftk *.pdf cat output combined.pdf

3)最後に検索できるようにPDFのスキャン品質を変更しないOCRテキストレイヤーを追加しました。

pypdfocr combined.pdf  

関連情報