BTW, một trong những lý do khiến ImageMagick chậm hơn rất nhiều là vì nó gọi Ghostscript hai lần. Nó không chuyển đổi PDF => PNG trong một lần, nhưng sử dụng 2 bước khác nhau:
- đầu tiên nó sử dụng Ghostscript để
PDF => PostScript
chuyển đổi;
- sau đó sử dụng Ghostscript để
PostScript => PNG
chuyển đổi.
Bạn có thể tìm hiểu về các cài đặt chi tiết "đại biểu" của ImageMagick (các chương trình bên ngoài mà ImageMagick sử dụng, như Ghostscript) bằng cách nhập
convert -list delegate
(Trên hệ thống của tôi đó là danh sách 32 lệnh khác nhau.) Bây giờ để xem lệnh nào được sử dụng để chuyển đổi sang PNG, hãy sử dụng lệnh này:
convert -list delegate | grep -i png
Ok, cái này là dành cho Linux. Nếu bạn đang dùng Windows, hãy thử điều này:
convert -list delegate | findstr /i png
Bạn sẽ khám phá ra rằng IM chỉ tạo ra PNG từ đầu vào PS hoặc EPS. Vậy làm thế nào để IM có được (E) PS từ PDF của bạn? Dễ dàng:
convert -list delegate | findstr /i PDF
convert -list delegate | grep -i PDF
Ah! Nó sử dụng Ghostscript để thực hiện chuyển đổi PDF => PS, sau đó sử dụng lại Ghostscript để thực hiện chuyển đổi PS => PNG. Hoạt động, nhưng không phải là cách hiệu quả nhất nếu bạn biết rằng Ghostscript có thể thực hiện PDF => PNG trong một lần. Và nhanh hơn. Và với chất lượng tốt hơn nhiều.
Về việc IM xử lý chuyển đổi PDF thành hình ảnh thông qua đại biểu Ghostscript, bạn nên biết hai điều đầu tiên và quan trọng nhất:
- Theo mặc định, nếu bạn không cung cấp thêm tham số, Ghostscript sẽ xuất hình ảnh với độ phân giải 72dpi. Đó là lý do tại sao đôi khi mọi người ở đây đề nghị thêm
-density 600
dưới dạng convert
tham số cho Ghostscript sử dụng độ phân giải 600 dpi cho đầu ra hình ảnh của nó.
- Đường vòng của IM để gọi Ghostscript hai lần để chuyển đổi đầu tiên
PDF => PS
và sau đó PS => PNG
là một sai lầm thực sự. Bởi vì bạn không bao giờ chiến thắng và harldy giữ chất lượng trong bước đầu tiên, nhưng rất thường mất một số. Lý do:
- PDF có thể xử lý trong suốt, điều mà PostScript không thể.
- PDF có thể nhúng phông chữ TrueType, điều mà PostScript không thể. v.v.
(Chuyển đổi theo hướng ngược lại PS => PDF
, do đó không quan trọng ....)
Đó là lý do tại sao tôi đề nghị bạn chuyển đổi các tệp PDF của mình trong một lần sang PNG (hoặc JPEG) bằng cách sử dụng Ghostscript trực tiếp. Và sử dụng phiên bản mới nhất 8.71 (sắp được phát hành: 9.00) của Ghostscript ...