Создайте один PDF-файл из нескольких (выбранных) изображений

Чтобы преобразовать несколько изображений в pdf, этот скрипт будет делать это для всех изображений внутри папки:

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

Но каждое изображение преобразуется в отдельный файл.

Могут ли все изображения быть преобразованы в один PDF?

2 Solutions collect form web for “Создайте один PDF-файл из нескольких (выбранных) изображений”

Вы можете использовать опцию -adjoin для convert :

 convert -adjoin *.png out.pdf 

Эта команда приведет к одному файлу pdf со всеми изображениями png .

Источник здесь, для создания 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 должно выполняться в соответствии с их типом:

 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 ad 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 = задание должно быть помещено в /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 .

введите описание изображения здесь

  • Как конвертировать libreoffice ODT в PDF в bash
  • Можно ли перенести текст OCRed из одного PDF в другой PDF-файл?
  • Устранение URL-адресов на сервере
  • Печать на пользовательском размере бумаги / добавление формата бумаги в PPD
  • Xpdf подходит для ширины страницы в полноэкранном режиме
  • Редактор PDF с регулярными выражениями для закладок?
  • Установите программу по умолчанию для одного конкретного файла в Nemo
  • Размер изображения с gscan2pdf и ImageMagick `convert` bloat
  • Как заставить ghostscript не стирать метаданные PDF
  • Распечатайте n строк до и m строк после совпадения с pdfgrep
  • сценарий просмотра pdf-кода
  • Linux и Unix - лучшая ОС в мире.