Jak mogę przekonwertować serię obrazów do formatu PDF z wiersza poleceń w systemie Linux? [Zamknięte]


215

Mam serwer skanowania, który napisałem w cgi / bash i chcę móc przekonwertować wiązkę obrazów (wszystkie w jednym folderze) na plik pdf z wiersza poleceń. Jak można to zrobić?


Zobacz także Jak wygenerować plik PDF z serii obrazów? na superużytkowniku.
— zrajm


7
Użyj img2pdf , a nie ImageMagick. ImageMagick dekoduje JPEG, co powoduje utratę generacji i jest 10–100 razy wolniejszy niż img2pdf.
— Robert Fleming,

1
sudo apt-get install gscan2pdf dla prostego i łatwego użycia.
— M Haziq,

1
img2pdf $(find . -iname '*.jpg' | sort -V) -o ./document.pdfda ci document.pdfzawierające wszystkie obrazy z rozszerzeniem jpg lub JPG w bieżącym katalogu - jeden obraz na stronie. document.pdfbędą miały wszystkie obrazy uporządkowane naturalnie jako strony ( -Vopcja dla sort), więc nie trzeba dodawać żadnych zer wiodących podczas numerowania plików obrazów.
— Jimmix

Odpowiedzi:


411

Korzystając z imagemagick , możesz spróbować:

convert page.png page.pdf

Lub dla wielu zdjęć:

convert page*.png mydoc.pdf

7
co jeśli strona * .png nie sortuje obrazów w pożądany sposób? np. strona_1.png, strona_2.png ... strona_10.png -> strona_10 pojawi się przed stroną_1
— vcarel

38
Aby posortować pliki, możesz użyć:ls page*.png | sort -n | tr '\n' ' ' | sed 's/$/\ mydoc.pdf/' | xargs convert
— GaloisPlusPlus

26
Dla ciebie prawie nigdy nie musisz używać lsdo niczego poza wyświetlaniem plików ... tj. Nie analizuj jego danych wyjściowych. findjest znacznie bardziej odpowiednim narzędziem. Oto przykład convert $(find -maxdepth 1 -type f -name 'page*.png' | sort -n | paste -sd\ ) output.pdf. Pamiętaj, że powyższe polecenie nie będzie działać, jeśli twoje ścieżki zawierają spacje. Dodanie znaków, które należy uciec, sprawia, że ​​sprawy stają się nieco bardziej skomplikowane.
— Sześć

20
To proste i działa bardzo dobrze, dziękuję! Aby uniknąć generowania ogromnych plików PDF, użyj czegoś takiegoconvert -compress jpeg -quality 85 *.png out.pdf
— jlh

13
ImageMagick dekoduje JPEG, co powoduje utratę generacji . Zamiast tego użyj img2pdf ; jest także 10–100 razy szybszy.
— Robert Fleming,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.