![複数の(選択した)画像から 1 つの PDF を作成します](https://rvso.com/image/83679/%E8%A4%87%E6%95%B0%E3%81%AE%EF%BC%88%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%9F%EF%BC%89%E7%94%BB%E5%83%8F%E3%81%8B%E3%82%89%201%20%E3%81%A4%E3%81%AE%20PDF%20%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99.png)
複数の画像を 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
)。ある時点でアカウントを削除しましたが、今は戻っています。)