Làm cách nào để hợp nhất một số .png
tệp thành một tệp PDF trong Unix?
Câu trả lời:
Từ việc xem qua tài liệu về ImageMagick, có thể dễ dàng như:
convert 1.png 2.png myfile.pdf
Nếu điều đó không hiệu quả, PDFjam tuyên bố có thể giải quyết vấn đề của bạn.
-quality
tùy chọn nhưng kích thước tệp luôn là ~ 9,5 MiB.
convert *.jpg file.pdf
-compress jpeg -quality 50
. Xem câu trả lời của tôi
Nếu tôi muốn hợp nhất một số bản quét thành một tệp PDF, tôi thực hiện như sau:
pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png
Điều này cung cấp cho bạn tài liệu PDF với kích thước trang DIN-A4, trong đó mọi png
tệp đều được căn giữa trên trang của chính nó. Hình ảnh quá lớn đối với một trang DIN-A4 được thay đổi kích thước tương ứng để vừa với một trang. Hình ảnh nhỏ hơn không được thay đổi kích thước (không được làm lớn hơn).
Bạn phải đặt tên cho tất cả png
các tệp trên dòng lệnh, nhưng bạn cũng có thể sử dụng các ký tự đại diện để hợp nhất tất cả các tệp png trong thư mục hiện tại:
pdfjoin --a4paper --fitpaper false --rotateoversize false *.png
Các pdfjoin
lệnh là một phần của PDFjam như đã đề cập trong câu trả lời của Jeremiah Willcock. Vì vậy, rất có thể bạn sẽ phải cài đặt một gói có tên pdfjam
hoặc texlive-extra-utils
với trình quản lý gói phân phối của bạn. PDFjam có thể sử dụng png
tệp làm đầu vào kể từ Phiên bản 2.07, được phát hành vào năm 2010-11-13.
pdfjoin
có sẵn trong texlive-extra-utils
gói trên một số nền tảng. Bạn cũng có thể cài đặt nó từ nguồn.
ImageMagick 'sCông cụ chuyển đổilà sở thích của tôi.
Chương trình chuyển đổi là một thành viên của bộ công cụ ImageMagick. Sử dụng nó để chuyển đổi giữa các định dạng hình ảnh cũng như thay đổi kích thước hình ảnh, làm mờ, cắt, giảm kích thước, hòa sắc, vẽ trên, lật, nối, lấy mẫu lại và hơn thế nữa.
convert [input-option] input-file [output-option] output-file`
Nếu bạn muốn các tệp hình ảnh (và do đó, chất lượng và kích thước tệp của chúng) không bị thay đổi và chỉ cần đặt một vùng chứa PDF xung quanh chúng:
convert In.png In-2.png Someother-*.png Result.pdf
Trong trường hợp bạn muốn có kích thước tệp nhỏ hơn và chất lượng bị giảm, bạn có thể chuyển đổi chúng sang định dạng JPEG trước. (ImageMagick cũng hỗ trợ thay đổi mức nén PNG, nhưng thông thường các tệp đầu vào của bạn đã sử dụng mức cao nhất.)
convert 1.png 2.png -compress jpeg -quality 50 Result.pdf
Sử dụng giá trị từ 0 đến 100 cho quality
tùy chọn.
Ngoài ra, bạn có thể đạt đến kích thước (và chất lượng) tệp thấp hơn bằng cách lấy mẫu lại hình ảnh ở một độ phân giải nhất định.
convert *.png 2.png -resample 300 Result.pdf
Giá trị cho resample
đề cập đến số lượng pixel trên inch. ImageMagick đọc mật độ gốc từ phần EXIF của hình ảnh đầu vào, giảm trở lại 72 dpi. Bạn có thể sử dụng density
tham số để đặt độ phân giải tùy chỉnh cho hình ảnh đầu vào.
Bạn có thể dĩ nhiên cũng kết hợp compress
, quality
và resample
các thông số.
Tôi đã đánh cắp cái này, nhưng đây là giải pháp tôi đã sử dụng từ Jeremiah Willcock và một trang web trả lời khác. Không phải đào bới lịch sử vào lúc này. Tôi đã nói dối, tôi đã làm. (Tully @ https://askubuntu.com/a/626301 )
Tôi cần một tệp đủ nhỏ để gửi email.
Để kết hợp hình ảnh thành một tệp PDF (từ trong thư mục làm việc, hãy sử dụng dòng lệnh:
user@box:/home/user/scans/:$
convert 1.png 2.png convertoutput.pdf
Để thu nhỏ bằng cách sử dụng ghostcript sau khi kết hợp (tôi hầu như đã sử dụng trên hệ thống mặc định kde):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
-r150 -sOutputFile=output.pdf convertoutput.pdf
Tệp của tôi có 14 hình ảnh (19MB sau khi chuyển đổi, gs làm cho nó 1,6MB, chất lượng vẫn tuyệt vời). Tệp đầu ra được gọi output.pdf
.
-compress jpeg -quality 50
. Xem câu trả lời của tôi