Чтобы преобразовать несколько изображений в PDF, этот скрипт сделает это для всех изображений внутри папки:
#!/bin/bash
#
for f in *.png; do
convert ./"$f" ./"${f%.png}.pdf"
done
Но каждое изображение конвертируется в отдельный файл.
Можно ли преобразовать все изображения в один PDF-файл?
решение1
Вы можете использовать -adjoin
опцию convert
:
convert -adjoin *.png out.pdf
Результатом этой команды станет один pdf
файл со всеми 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 это работает для выбранных файлов, если у них одинаковое расширение. В противном случае лучшим способом будет просто поместить все необходимые файлы в одну папку, а затем выполнить команду из контекстного меню правой кнопки мыши этой папки.
Тестирование на папке, содержащей файлы 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 [Desktop Entry] 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:
(Кстати, я автор и автор другого ответа (теперь подписанного user32012
): я удалил свой аккаунт в какой-то момент, а теперь вернулся.)