web-dev-qa-db-ja.com

JPEGファイルのディレクトリを単一のPDFドキュメントに変換します

ディレクトリに多数のJPEGファイルがあり、それらをPDFに変換し、それらを連結して単一のドキュメントを作成したい。

これをどのように行うことができますか?

このプロセスは高速になるため、コマンドラインを使用することをお勧めします。

238
lovespeed

imagemagickパッケージから、convertコマンドを使用します。

convert *.jpg pictures.pdf

現在のフォルダー内のすべてのjpgを含む単一のpdfを取得します。

次を使用してIMをインストールします。

Sudo apt-get install imagemagick

ソース: stackoverflow

編集:画像に番号が付けられていない場合、画像は特定の順序になりません。 10個以上ある場合は、ファイル名の末尾にfilename01.jpg ... filename99.jpgなどを付ける必要があります。適切な順序付けには、先頭にゼロが必要です。 100個以上の001 ... 999がある場合。

353
rosch
convert `ls -1v` file.pdf
  • このlsは、一度に1つのファイルを「自然な順序」(1,2,3 ...)でリストし、変換を続行します。
31
Alex

私のために働いた(しかし警告!圧縮をオフにして、結果のPDFは大きくなる!)

convert page1.jpg page2.jpg +compress file.pdf

あるいは:

convert -rotate 90 page\*.jpg +compress file.pdf

Ubuntuforums.orgの+compressは、ハングしないようにするのに役立ちます。注:+ compressは圧縮をオフにします。 + compressオプションなしでは、その時点で作業していたマシンが「永遠に」ハングアップしたように見えました(見つけるのに永遠に待たなかった)。マイレージはかなり異なる場合があります! RTFM on imagemagick.org option -compress 、圧縮/ハングの問題が遅い場合は、-compress <type>を試して、何が機能するかを調べてください。

20
gaoithe

残念ながら、convertは、PDFに「パック」する前に画質を変更します。したがって、品質の低下を最小限に抑えるには、元のjpgをPDFに入れる方がよいため、img2pdfを使用する必要があります。

私はこれらのコマンドを使用します:

  1. このコマンドは、解像度または品質を損なうことなく、すべてのpdfイメージからjpgファイルを作成します。

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

  2. このコマンドは、pdfpagesを1つのドキュメントに連結します。

    pdftk * .pdf cat出力combined.pdf

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

    pypdfocr combined.pdf

    pypdfocrを使用する代わりに:

    ocrmypdfのcombined.pdfのcombined_ocr.pdf

17

LibreOffice Writerでjpgまたはpngファイルを開き、PDFとしてエクスポートします。

これがpdfをエクスポートする簡単な方法であることを願っています。

12
user359154

次のソリューションもImageMagickのconvertに依存していますが、次の理由でもう少し洗練されています。

  • 出力PDFページサイズを同じに保ちながら、すべての画像のサイズを変更できます(以下の例のA4)。
  • PDFページの中央に画像を配置します。
  • これにより、画像の境界とPDFページの境界との間に最小限のスペースを確保し、PDFを問題なく印刷できます。
  • 画像データは変更されません。 (したがって、画質は影響を受けません。PDFファイルのサイズは画像とほぼ同じで、後で pdfimages -j file.pdf img を使用して元の画像を再抽出できます。) 、これはPNGでのみ機能します。以下の@dma_kによるコメントを参照してください。

手順:

  1. この回答 のスクリプトを使用して、各画像をA4ページサイズで5%の境界を持つ独自の1ページPDFファイルに変換します。
  2. 次のように、すべての1ページPDFファイルをPDFtkと連結します。

    pdftk *.pdf cat output out.pdf
    
8
tanius