Як я можу об’єднати кілька .png
файлів в один файл PDF в Unix?
Відповіді:
Переглянути документацію на ImageMagick це може бути так просто, як:
convert 1.png 2.png myfile.pdf
Якщо це не спрацює, PDFjam стверджує, що зможе вирішити вашу проблему.
-quality
опцією, але розмір файлу завжди становить ~ 9,5 Мб.
convert *.jpg file.pdf
-compress jpeg -quality 50
. Дивіться мою відповідь
Якщо я хочу об’єднати деякі скани в один файл PDF, я роблю це:
pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png
Це дає вам PDF-документ із розміром сторінки DIN-A4, де кожен png
файл центрується на власній сторінці. Зображення, занадто великі для однієї сторінки DIN-A4, пропорційно змінюються, щоб вмістити їх на одній сторінці. Менші розміри зображень не змінюються (не збільшуються).
Вам потрібно назвати всі png
файли в командному рядку, але ви також можете використовувати символи підстановки, щоб, наприклад, об’єднати всі файли png у поточному каталозі:
pdfjoin --a4paper --fitpaper false --rotateoversize false *.png
pdfjoin
Команда є частиною PDFjam , як зазначено у відповіді Єремією Willcock. Отже, вам, швидше за все, доведеться встановити пакет із назвою pdfjam
або за texlive-extra-utils
допомогою дистрибутора пакунків дистрибутивів. PDFjam може використовувати png
файли як вхідні дані з версії 2.07, випущеної в 2010-11-13.
pdfjoin
доступний в texlive-extra-utils
пакеті на деяких платформах. Ви завжди можете встановити його також із джерела.
Інструмент перетворення ImageMagick - це моя перевага.
Програма конвертування є членом набору інструментів ImageMagick. Використовуйте його для конвертації між форматами зображень, а також для зміни розміру зображення, розмиття, обрізання, видалення, змішування, малювання, перевертання, приєднання, повторної вибірки та багато іншого.
convert [input-option] input-file [output-option] output-file`
Якщо ви хочете, щоб файли зображень (а отже, їх якість та розмір) не змінилися, і просто розмістіть навколо них контейнер PDF:
convert In.png In-2.png Someother-*.png Result.pdf
Якщо ви хочете мати менший розмір файлу, і у вас все гаразд із втратою якості, ви можете спочатку перетворити їх у формат JPEG. (ImageMagick також підтримує зміну рівня стиснення PNG, але зазвичай ваші вхідні файли вже використовують найвищий рівень.)
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
Використовуйте значення від 0 до 100 для quality
опції.
Крім того, ви можете досягти більш низького розміру (і якості) файлу, переформатувавши зображення до певної роздільної здатності.
convert *.png 2.png -resample 300 Result.pdf
Значення для resample
відноситься до кількості пікселів на дюйм. ImageMagick зчитує вихідну щільність з частини EXIF вхідних зображень, падаючи назад до 72 dpi. За допомогою density
параметра можна встановити власну роздільну здатність для вхідних зображень.
Ви , звичайно , можете також комбінувати compress
, quality
і resample
параметри.
Я вкрав це, але це рішення я використав у Джеремії Вілкока та іншого веб-сайту з відповідями. На даний момент не копаючись в історії. Я збрехав, я зробив. (Tully @ https://askubuntu.com/a/626301 )
Мені потрібен був досить маленький файл для надсилання електронної пошти.
Щоб об'єднати зображення в PDF (з робочого каталогу використовуйте командний рядок:
user@box:/home/user/scans/:$
convert 1.png 2.png convertoutput.pdf
Щоб зменшити використання ghostscript після комбінування (я майже використовував систему kde за замовчуванням):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
-r150 -sOutputFile=output.pdf convertoutput.pdf
У моєму файлі було 14 зображень (19 Мб після конвертації, gs зробив це 1,6 Мб, якість все ще була чудовою). Викликається вихідний файл output.pdf
.
-compress jpeg -quality 50
. Подивитися мою відповідь