Як я можу конвертувати серію зображень у PDF із командного рядка на Linux? [зачинено]


215

У мене є скануючий сервер, про який я писав у cgi / bash і хочу мати змогу перетворити купу зображень (все в одній папці) в pdf з командного рядка. Як це можна зробити?


Див. Також Як створити PDF із серії зображень? на суперрусера.
zrajm


7
Використовуйте img2pdf , а не ImageMagick. ImageMagick розшифровує JPEG, що призводить до втрати генерації і в 10–100 разів повільніше, ніж img2pdf.
Роберт Флемінг

1
sudo apt-get install gscan2pdf для простого і легкого використання.
M Haziq

1
img2pdf $(find . -iname '*.jpg' | sort -V) -o ./document.pdfдасть вам document.pdfмістити всі зображення з розширенням jpg або JPG у поточному режимі - по одному зображенню на сторінці. document.pdfвсі зображення будуть впорядковані як сторінки природним чином ( -Vопція для sort), тому немає необхідності додавати провідні нулі при нумерації файлів зображень.
Джиммікс

Відповіді:


411

За допомогою Imagemagick ви можете спробувати:

convert page.png page.pdf

Або для декількох зображень:

convert page*.png mydoc.pdf

7
що робити, якщо сторінка * .png не сортує зображення так, як вам потрібно? напр. page_1.png, page_2.png ... page_10.png -> page_10 з'явиться перед page_1
vcarel

38
Для сортування файлів можна скористатися:ls page*.png | sort -n | tr '\n' ' ' | sed 's/$/\ mydoc.pdf/' | xargs convert
GaloisPlusPlus

26
FYI вам майже ніколи не потрібно використовувати lsнічого, крім показу файлів ... тобто не розбирайте його на виході. findє набагато більш підходящим засобом. Ось приклад convert $(find -maxdepth 1 -type f -name 'page*.png' | sort -n | paste -sd\ ) output.pdf. Майте на увазі, що згадана команда не працюватиме, якщо у ваших іменах шляхів є пробіли. Додавання символів, яких потрібно уникнути, робить речі дещо складнішими.
Шість

20
Це просто і працює дуже добре, дякую! Щоб не генерувати величезні файли PDF, використовуйте щось на кшталтconvert -compress jpeg -quality 85 *.png out.pdf
jlh

13
ImageMagick декодує JPEG, що призводить до втрати генерації . Використовуйте замість img2pdf ; це також в 10–100 разів швидше.
Роберт Флемінг

13

Використовуйте convertз http://www.imagemagick.org . (Легко постачається як пакет у більшості дистрибутивів Linux.)


30
ImageMagick декодує JPEG, що призводить до втрати генерації . Використовуйте замість img2pdf ; це також в 10–100 разів швидше.
Роберт Флемінг

9
Примітка: img2pdf переміщено до gitlab.mister-muffin.de/josch/img2pdf .
кельвін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.