Làm cách nào tôi có thể chuyển đổi một loạt hình ảnh thành PDF từ dòng lệnh trên linux? [đóng cửa]


215

Tôi có một máy chủ quét tôi đã viết bằng cgi / bash và muốn có thể chuyển đổi một loạt các hình ảnh (tất cả trong một thư mục) thành pdf từ dòng lệnh. Làm thế nào có thể được thực hiện?




7
Sử dụng img2pdf , không phải ImageMagick. ImageMagick giải mã JPEG, dẫn đến mất thế hệ và chậm hơn 10 lần 100 lần so với img2pdf.
Robert Fleming

1
sudo apt-get install gscan2pdf để sử dụng đơn giản và dễ dàng.
M Haziq

1
img2pdf $(find . -iname '*.jpg' | sort -V) -o ./document.pdfsẽ cung cấp cho bạn document.pdfchứa tất cả các hình ảnh có phần mở rộng jpg hoặc JPG trong thư mục hiện tại - một hình ảnh trên mỗi trang. document.pdfsẽ có tất cả các hình ảnh được sắp xếp dưới dạng các trang một cách tự nhiên ( -Vtùy chọn cho sort) vì vậy không cần thêm bất kỳ số 0 đứng đầu nào khi đánh số tệp hình ảnh.
Jimmix

Câu trả lời:


411

Sử dụng ImageMagick , bạn có thể thử:

convert page.png page.pdf

Hoặc cho nhiều hình ảnh:

convert page*.png mydoc.pdf

7
Điều gì xảy ra nếu trang * .png không sắp xếp hình ảnh theo cách bạn muốn? ví dụ: page_1.png, page_2.png ... page_10.png -> page_10 sẽ xuất hiện trước trang_1
vcarel

38
Để sắp xếp các tệp, bạn có thể sử dụng:ls page*.png | sort -n | tr '\n' ' ' | sed 's/$/\ mydoc.pdf/' | xargs convert
GaloisPlusPlus

26
FYI bạn hầu như không bao giờ cần sử dụng lscho bất cứ điều gì ngoài việc hiển thị tệp ... tức là không phân tích cú pháp đầu ra của nó. findlà một công cụ phù hợp hơn nhiều. Đây là một ví dụ convert $(find -maxdepth 1 -type f -name 'page*.png' | sort -n | paste -sd\ ) output.pdf. Hãy nhớ rằng lệnh đã nói ở trên sẽ không hoạt động nếu tên đường dẫn của bạn chứa khoảng trắng. Việc bổ sung các nhân vật cần được trốn thoát khiến mọi thứ phức tạp hơn một chút.
Sáu

20
Điều này là đơn giản và hoạt động rất tốt, cảm ơn bạn! Để tránh tạo các tệp PDF khổng lồ, hãy sử dụng một cái gì đó nhưconvert -compress jpeg -quality 85 *.png out.pdf
jlh

13
ImageMagick giải mã JPEG, dẫn đến mất thế hệ . Sử dụng img2pdf thay thế; nó cũng nhanh hơn 10 lần 100 lần.
Robert Fleming

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.