複数の(選択した)画像から 1 つの PDF を作成します

複数の(選択した)画像から 1 つの PDF を作成します

複数の画像を PDF に変換するには、このスクリプトを使用して、フォルダー内のすべての画像に対して変換を実行します。

#!/bin/bash
#
for f in *.png; do
  convert ./"$f" ./"${f%.png}.pdf"
done

ただし、各画像は個別のファイルに変換されます。

すべての画像を 1 つの PDF に変換できますか?

答え1

-adjoin以下のオプションを使用できますconvert:

convert -adjoin *.png out.pdf

このコマンドを実行すると、pdfすべての画像が 1 つのファイルに保存されますpng

答え2

ソースここへ任意のドキュメントセットからPDFファイルを生成画像だけではありません。

上記ソースより:

主な原則

複数のドキュメントから複数ページの PDF ファイルを生成する場合は、次の手順に従う必要があります。

Sort of all input documents in alphabetical order
Convert them to some temporary PDF files
Assemble all temporary PDF documents to a final multi-pages PDF document.

入力ドキュメントを一時的な PDF 形式に変換する場合は、MIME タイプに従って行う必要があります。

Image files (jpg, png, tiff, …)
Plain text files (txt)
Libre Office & Open Office documents (odt, ods, …)
Microsoft Office files (doc, docx, xls, xlsx, ppt, pptx, …)

入力ドキュメントの種類に応じて、特定のツールを使用して PDF への変換を行う必要があります。

convert (from ImageMagick) for image files
unoconv for Libre Office, Microsoft Office and plain text files

すべての入力ドキュメントが一時的な PDF ファイルに変換されると、最終的なドキュメントの組み立ては GhostScript を使用して行われます。この強力なツールにより、次のことが可能になります。

merge multiple PDF documents
optimize final file size

Nautilus と Gnome については、上記のリンクで詳細を参照してください。必要なプロセスを自動化するためのスクリプトがさらに含まれています。ソリューションは Gnome と Nautilus 向けに合理化されており、私は主に KDE と Dolphin を使用しているため、より限定的なアプローチを使用しました。

このソリューションは、質問で要求された結果を提供しますが、次の場合にも適用されることを意図しています。テキスト文書と PDF (画像の他に)そして、それらをすべて最終的な PDF に結合します。

ファイルは出力PDFに統合されますアルファベット順

最後のコンテキストメニューコマンドも適用できますすべてのファイルを含むフォルダに統合される。

このソリューションには、グラフィカルユーザーインターフェイス特徴。

それで:

sudo apt-get install imagemagick unoconv ghostscript zenity libfile-mimeinfo-perl

geditまたはその他のテキストエディタを使用する:

gedit ~/.config/pdf-generate.conf

これを貼り付けます:

[general]
compression=95
density=200

したがって、デフォルトのパラメータを変更する場合は、ツールを実行する前にこのファイルを編集するだけです。

PDF生成を担当するメインスクリプトk=jobは の下に配置する必要があります/usr/local/bin/pdf-generate。メインスクリプトの内容についてはソースリンクを参照してください。(また、ここ

メイン スクリプトとその構成ファイルは、コマンド ラインからインストールできます。

# mkdir --parents $HOME/.config
# wget --header='Accept-Encoding:none' -O $HOME/.config/pdf-generate.conf https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/pdf/pdf-generate.conf
# sudo wget --header='Accept-Encoding:none' -O /usr/local/bin/pdf-generate https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/pdf/pdf-generate
# sudo chmod +x /usr/local/bin/pdf-generate

この PDF 生成ツールをデスクトップ環境に完全に統合するには:

gedit /usr/share/applications/pdf-generate.desktop.

Gnome/Nautilus の統合と自動ダウンロードおよびインストールについては、リンクを参照してください。KDE のニーズに合わせて若干簡略化および調整されたバージョン:

    [Desktop Entry]
Type=Application
Exec=pdf-generate
Hidden=false
NoDisplay=false
Icon=pdf
Keywords=pdf;generate;image;office;document;merge
StartupNotify=true
Name[en_US]=Generate PDF document
Name[en]=Generate PDF document
Name[C]=Generate PDF document
Name[fr_FR]=Génération d'un PDF
Comment=Tool to merge a set of documents to a PDF file.
Comment[en_US]=Tool to merge a set of documents to a PDF file.
Comment[fr_FR]=Outil de concaténation de documents en un fichier PDF.
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;application/pdf;application/x-pdf;application/x-bzpdf;application/x-gzpdf;application/msword;application/vnd.ms-word;application/vnd.oasis.opendocument.text;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;text/plain;
Categories=GNOME;GTK;Graphics;Conversion;Utility;

完全なデスクトップ統合を実現するには、このPDF生成ツールはファイルマネージャのコンテキストメニューのカスタムアクションから利用可能

Nautilus の場合、 の下に置かれた .desktop ファイルで新しいカスタム アクションを宣言する必要があります~/.local/share/file-manager/actions(内容についてはリンクを参照してください)。Dolphin/KDE の場合、 にあります~/.kde/share/kde4/services/ServiceMenus/。したがって、次のようにしました。

gedit ~/.kde/share/kde4/services/ServiceMenus/pdf-generate.desktop

内容は次のとおりです:

[Desktop Entry]
Actions=pdf-generate
Encoding=UTF8
Icon=pdf
MimeType=MimeTypes=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;application/pdf;application/x-pdf;application/x-bzpdf;application/x-gzpdf;application/msword;application/vnd.ms-word;application/vnd.oasis.opendocument.text;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;text/plain;inode/directory;application/pdf
ServiceTypes=KonqPopupMenu/Plugin
Type=Service


[Desktop Action pdf-generate]
Exec=pdf-generate %F
Icon=pdf
Name=Create pdf file

再ログイン後、ソース リンクに示されているように、ファイルを選択するときにコンテキスト メニュー オプションが表示されます。私の KDE/Dolphin 構成では、選択したファイルに同じ拡張子がある場合にこれが機能します。それ以外の場合は、必要なファイルをすべて 1 つのフォルダーに入れて、そのフォルダーの右クリック コンテキスト メニューからコマンドを実行するのが最善の方法です。

ここに画像の説明を入力してください

png、jpeg、pdf、odt ファイルを含むフォルダーでテストします。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

出力ファイルはソース フォルダー内に という名前で保存されますfirst_in_alphabetical_order-merged.pdf

ここに画像の説明を入力してください

答え3

更新しました:

Dolphin で最近使用したのは次のサービス メニューです。

[Desktop Entry]
Type=Service
Actions=image2pdf
Icon=application-pdf
Encoding=UTF-8
TryExec=img2pdf
ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/*

[Desktop Action image2pdf]
Exec=konsole -e img2pdf %F -o out.pdf
Icon=application-pdf
Name=Convert selected image(s) into single pdf  

言われるようにここ(ファイルの番号付けに関する問題を修正するには、これ


sudo apt install imagemagick

ファイル マネージャーのコンテキスト メニュー (Dolphin の「サービス メニュー」など) を作成します。~/.local/share/kservices5/ServiceMenus/IMG_2_PDF.desktop: 4pPtqnJTDYShMf3 [デスクトップ エントリ] Type=Service ServiceTypes=KonqPopupMenu/Plugin MimeType=image/*; Actions=pdf;

[Desktop Action pdf]
Name=Create PDF from images
Icon=application-pdf
Exec=bash -c 'convert %F  out.pdf'

コンテキスト メニュー アクションをサポートするファイル マネージャーの場合、重要な行は次のとおりです。

MimeType=image/*;
Exec=bash -c 'convert %F out.pdf'

影響を受けないようにしてくださいImageMagick セキュリティ ポリシー「PDF」による変換のブロック


Gthumbを使用する(すべてのビューアで印刷できるわけではない)複数画像をファイルに保存):

  • 画像を選択し、右クリックしてすべてを gThumb で開きます (画像ビューアではなく、ファイル ブラウザーに表示されます)。

ここに画像の説明を入力してください

PDF を作成する前に画像を並べ替えることもできます。

ドラッグ&ドロップするだけ:

ここに画像の説明を入力してください

  • 印刷するには、再度選択し、右クリックして「印刷」を選択します。

ここに画像の説明を入力してください

  • ファイルを保存する場所を選択し、プリンターのリストで「ファイルに印刷」を選択します。

ここに画像の説明を入力してください

複数の画像を PDF に印刷できるその他の画像ビューア:


(ちなみに、私は OP であり、別の回答の著者でもあります (現在は に署名していますuser32012)。ある時点でアカウントを削除しましたが、今は戻っています。)

関連情報