BTW หนึ่งในสาเหตุที่ ImageMagick ช้าลงมากคือมันเรียก Ghostscript สองครั้ง มันไม่แปลง PDF => PNG ในครั้งเดียว แต่ใช้ 2 ขั้นตอนที่แตกต่างกัน:
- ก่อนอื่นจะใช้ Ghostscript สำหรับ
PDF => PostScript
การแปลง
- จากนั้นใช้ Ghostscript สำหรับ
PostScript => PNG
การแปลง
คุณสามารถเรียนรู้เกี่ยวกับการตั้งค่าโดยละเอียดของ "ผู้รับมอบสิทธิ์" ของ ImageMagick (โปรแกรมภายนอกที่ ImageMagick ใช้เช่น Ghostscript) โดยพิมพ์
convert -list delegate
(ในระบบของฉันนั่นคือรายการของคำสั่งต่าง ๆ 32 คำสั่ง) ตอนนี้เพื่อดูว่าคำสั่งใดที่จะใช้ในการแปลงเป็น PNG ให้ใช้สิ่งนี้:
convert -list delegate | grep -i png
ตกลงนี่คือสำหรับ Linux หากคุณใช้ Windows ลองทำสิ่งนี้:
convert -list delegate | findstr /i png
คุณจะค้นพบว่า IM สร้าง PNG จากอินพุต PS หรือ EPS เท่านั้น ดังนั้น IM จะได้รับ (E) PS จาก PDF ของคุณอย่างไร ง่าย:
convert -list delegate | findstr /i PDF
convert -list delegate | grep -i PDF
อา! มันใช้ Ghostscript เพื่อทำการแปลง PDF => PS จากนั้นใช้ Ghostscript อีกครั้งเพื่อทำการแปลง PS => PNG ผลงาน แต่ไม่ได้เป็นวิธีที่มีประสิทธิภาพมากที่สุดถ้าคุณรู้ว่า Ghostscript สามารถทำรูปแบบไฟล์ PDF => PNG ในหนึ่งไป และเร็วขึ้น และคุณภาพที่ดีขึ้นมาก
เกี่ยวกับการจัดการการแปลง PDF เป็นรูปภาพของ IM ผ่านตัวแทน Ghostscript คุณควรรู้สองสิ่งแรกและสำคัญที่สุด:
- ตามค่าเริ่มต้นหากคุณไม่ได้ให้พารามิเตอร์เพิ่มเติม Ghostscript จะส่งออกภาพที่มีความละเอียด 72dpi นั่นเป็นสาเหตุที่บางครั้งผู้คนที่นี่แนะนำให้เพิ่ม
-density 600
เป็นconvert
พารามิเตอร์ที่บอก Ghostscript ให้ใช้ความละเอียด 600 dpi สำหรับการแสดงผลภาพ
- ทางอ้อมของ IM เพื่อเรียก Ghostscript สองครั้งเพื่อแปลงก่อน
PDF => PS
แล้วจึงPS => PNG
เป็นความผิดพลาดที่แท้จริง เพราะคุณไม่เคยชนะและฮาร์ดี้รักษาคุณภาพในขั้นตอนแรก แต่มักจะสูญเสียบางอย่าง เหตุผล:
- PDF สามารถรองรับแผ่นใสซึ่ง PostScript ไม่สามารถทำได้
- PDF สามารถฝังแบบอักษร TrueType ซึ่ง PostScript ไม่สามารถทำได้ etc.pp.
(การแปลงในทิศทางตรงกันข้ามPS => PDF
มันไม่สำคัญเลย .... )
นั่นเป็นเหตุผลที่ฉันแนะนำให้คุณแปลงไฟล์ PDF ในครั้งเดียวไปที่ PNG (หรือ JPEG) โดยใช้ Ghostscript โดยตรง และใช้เวอร์ชันล่าสุด 8.71 (จะเปิดตัวเร็ว ๆ นี้: 9.00) ของ Ghostscript ...