Об’єднання зображень PNG в один файл PDF [закрито]


91

Як я можу об’єднати кілька .pngфайлів в один файл PDF в Unix?

Відповіді:


150

Переглянути документацію на ImageMagick це може бути так просто, як:

convert 1.png 2.png myfile.pdf

Якщо це не спрацює, PDFjam стверджує, що зможе вирішити вашу проблему.


5
Це дивовижно. Так легко. Він автоматично розмірює зображення та все ... Я люблю відкритий код.
Натан Уоллес,

Чи є спосіб контролювати якість документа чи розмір файлу PDF-файлу, що утворився? Мені потрібно завантажити деякі документи з максимальним розміром файлу 2,5 Мб. Я спробував із цією -qualityопцією, але розмір файлу завжди становить ~ 9,5 Мб.
arielnmz

Чи можна додати файли зображень до існуючого pdf?
Кіран Редді

3
Перетворіть усі файли в папку вказаного типу, використовуючиconvert *.jpg file.pdf
haakym

2
@arielnmz, ви можете стиснути файл, використовуючи параметри -compress jpeg -quality 50. Дивіться мою відповідь
Майкл Шмід,

37

Якщо я хочу об’єднати деякі скани в один файл 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 зникло, і тепер існує лише інший інструмент, який називається pdfunite, який поєднує лише кілька файлів PDF в один ...
Грегор

1
@Gregor Що змушує вас стверджувати, що pdfjoin вже немає?
Паскаль Каніфоль

@Pascal_Rosin не міг знайти його ні в Debian, ні в сховищах Arch ...
Грегор,

2
pdfjoinдоступний в texlive-extra-utilsпакеті на деяких платформах. Ви завжди можете встановити його також із джерела.
Махмуд Аль-Кудсі,

11

Інструмент перетворення 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параметри.


Хто-небудь тут знає, як відновити операцію?
Андрій Чоара,

Файли зображень не видаляються, хоча ви можете скопіювати їх для спокою. Я також мав stackoverflow.com/questions/42928765 / ... питання , щоб вирішити , перш ніж він працював.
Аудріус Мескаускас

Будь-хто, хто знайшов проблему з перетворенням зображень у формат PDF, і побачив помилку з надписом
Тухін,

Нещодавно imagemagick за замовчуванням заперечує перетворення PDF. Перегляньте це запитання, якщо ви стикаєтесь із цим, щоб знати, як змінити цю політику. stackoverflow.com/questions/52998331 / ...
user2565010

5

Я вкрав це, але це рішення я використав у Джеремії Вілкока та іншого веб-сайту з відповідями. На даний момент не копаючись в історії. Я збрехав, я зробив. (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.


Ви можете стиснути файл безпосередньо за допомогою convert , використовуючи параметри -compress jpeg -quality 50. Подивитися мою відповідь
Майкл Шмід,

@MichaelSchmid Стиснення з перетворенням не таке ефективне. Це лише знижує якість jpeg, тоді як рішення gs змінює роздільну здатність. Якщо ви спробуєте це із зображенням із високою роздільною здатністю, ви побачите, наскільки велика різниця у розмірі, навіть якщо ви хочете отримати надзвичайно низьку якість jpg.
mak

Так, передискретизація дійсно може бути ефективнішою, ніж стиснення JPEG. І ImageMagick також це підтримує. Я додав цей варіант у своїй відповіді.
Michael Schmid
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.