Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีทำให้เอกสาร PDF เรียบ - บทช่วยสอน

สองสามวันก่อน ฉันได้แสดงวิธีแก้ไขข้อมูลใน Okular ซึ่งเป็นโปรแกรมดู PDF เริ่มต้นในเดสก์ท็อปพลาสมา การกระทำนั้นค่อนข้างง่ายที่จะทำ แต่มันไม่ได้ทำลายข้อมูลที่ถูกปกปิดอย่างมีประสิทธิภาพ เพียงแค่ปิดบังมันจากผู้ชม

สิ่งที่ฉันต้องการแสดงให้คุณเห็นในวันนี้คือส่วนที่สองของปริศนา - การทำให้เอกสาร PDF แบนราบ ลองนึกถึงภาพที่มีหลายเลเยอร์ แล้วบันทึกทั้งหมดในรูปแบบที่ไม่ใช่เลเยอร์ จากนั้นข้อมูลจะถูกทำให้แบนเป็นชั้นเดียว - ค่าของพิกเซลที่เรียงซ้อนกันในแนวตั้งทั้งหมดจะถูกคำนวณ - บวก/ลบ/อะไรก็ตาม - จากนั้นจึงแสดงเป็นการคำนวณขั้นสุดท้ายขั้นสุดท้ายของการกระทำนี้ เช่นเดียวกับ PDF ยกเว้นว่ามันซับซ้อนกว่า เนื่องจากโครงสร้าง PDF ลงมือกันเลย

เครื่องมือการค้า - Ghostscript

คุณอาจเคยได้ยินเกี่ยวกับ Ghostscript (gs) มาก่อน - ฉันได้พูดคุยเกี่ยวกับเรื่องนี้ในช่วงหลายปีที่ผ่านมาในบทความต่างๆ ที่เกี่ยวข้องกับ LaTeX และ LyX ตอนนี้ เราจะใช้เครื่องมือ gs เพื่อประมวลผล PDF แบบ "หลายเลเยอร์" ที่มีอยู่ให้เป็นแบบแบน โดยที่ข้อมูลจะถูกแก้ไขอย่างเหมาะสม เราจะทำสิ่งนี้ใน Linux เพราะหากมีสิ่งหนึ่งที่ Linux ทำได้ดีกว่าระบบปฏิบัติการอื่น นั่นคืองานเฉพาะที่เน้นการประมวลผลรูปแบบไฟล์ ดังนั้น Ghostscript ควรพร้อมใช้งานในการเผยแพร่ของคุณ และถ้ายังไม่ได้ติดตั้ง ก็จะอยู่ในที่เก็บถาวรที่เก็บถาวร

gs -sDEVICE=pdfwrite -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=flattened.pdf input.pdf

นี่คือคำสั่งที่ใช้เวทมนตร์ ไม่มีการประมวลผลเพิ่มเติมสำหรับรูปภาพใดๆ ที่คุณอาจมีในไฟล์ PDF ของคุณ ดังนั้นคุณจึงไม่ควรคาดหวังว่าจะมีการลดขนาดลงอย่างมาก ท้ายที่สุดนั่นไม่ใช่จุดประสงค์ที่นี่ แต่ก็ได้ผลแค่นั้น

วิธีการทางเลือก - ImageMagick และ pdf2ps

หากวิธีข้างต้นไม่เป็นที่พอใจของคุณไม่ว่าด้วยเหตุผลใดก็ตาม มีวิธีอื่นอีกสองวิธีที่คุณสามารถลองได้ อย่างไรก็ตาม โปรดทราบว่าฉันพบว่าสิ่งเหล่านี้มีประสิทธิภาพน้อยกว่าการใช้ gs ดังนั้นโปรดจำไว้ว่าเมื่อคุณดำเนินการตามคำแนะนำด้านล่าง

คุณสามารถลองใช้ยูทิลิตีการแปลง ImageMagick แต่เดี๋ยวก่อน

แปลง - ความหนาแน่น 300 ต้นฉบับ.pdf แบน.pdf

ตามค่าเริ่มต้น เนื่องจากช่องโหว่ด้านความปลอดภัยในกลไก Ghostscript ImageMagick ได้รับการกำหนดค่าไม่ให้ประมวลผลไฟล์ต่างๆ รวมถึง PS, PDF, EPS, XPS และอื่นๆ ดังนั้น หากคุณลองโดยไม่แก้ไขนโยบาย ImageMagick คุณจะเห็นข้อผิดพลาดต่อไปนี้:

converter-im6.q16:พยายามดำเนินการที่ไม่ได้รับอนุญาตจากนโยบายความปลอดภัย `PDF' @ error/constitute.c/IsCoderAuthorized/408
convert-im6.q16:ไม่มีรูปภาพที่กำหนด `flattened.pdf' @ error/convert.c/ConvertImageCommand/3258

ในการแก้ปัญหานี้ คุณจะต้องแก้ไขไฟล์ต่อไปนี้ - แทนที่ [NUMBER] ด้วย 6 หรือ 7 สำหรับเวอร์ชันที่เกี่ยวข้อง:

/etc/ImageMagick-[NUMBER]/policy.xml

ในไฟล์นี้ จะมีรายการนโยบายความปลอดภัย:

...
<นโยบายโดเมน="coder" สิทธิ์="ไม่มี" รูปแบบ="EPS" />
<นโยบายโดเมน="coder" สิทธิ์="ไม่มี" รูปแบบ="PDF" /
<นโยบายโดเมน="coder" สิทธิ์="ไม่มี" รูปแบบ="XPS" />

เปลี่ยนหนึ่งสำหรับ PDF เพื่อให้ rights="none" กลายเป็น rights="read|write" หากคุณกังวลเรื่องความปลอดภัย คุณจะทำการเปลี่ยนแปลงได้ชั่วคราวในขณะที่ทำให้ไฟล์นั้นแบนราบ จากนั้นเปลี่ยนกลับเป็นการตั้งค่าที่มีประสิทธิภาพมากขึ้น

...
<นโยบายโดเมน="coder" สิทธิ์="ไม่มี" รูปแบบ="EPS" />
<นโยบายโดเมน="coder" สิทธิ์="อ่าน|เขียน" รูปแบบ="PDF" />
<นโยบายโดเมน="coder" สิทธิ์="ไม่มี" รูปแบบ="XPS" />

ตอนนี้ คุณสามารถประมวลผลไฟล์ โดยปกติจะใช้เวลานานกว่าการใช้ gs โดยตรง นอกจากนี้ หากคุณกำลังทำงานกับไฟล์ขนาดใหญ่มาก หน่วยความจำของคุณอาจหมด และการแปลงจะล้มเหลว ตัวอย่างเช่น:

converter-im6.q16:ทรัพยากรแคชหมด `flattened.pdf' @ error/cache.c/OpenPixelCache/4083 `flattened.pdf' @ error/pdf.c/WritePDFImage/2341

คุณจะต้องเปลี่ยนไฟล์คอนฟิกูเรชัน XML และเพิ่มขีดจำกัดหน่วยความจำในนโยบายต่างๆ อีกครั้ง อย่างไรก็ตาม เป็นไปได้ค่อนข้างมากที่เอกสารอาจมีขนาดใหญ่เกินไปสำหรับทรัพยากรหน่วยความจำที่คุณมีอยู่ในระบบของคุณ ฉันไม่มีชุดเวทมนตร์ที่จะแนะนำ:

...


<นโยบายโดเมน ="ทรัพยากร" ชื่อ ="ความกว้าง" ค่า ="256KP"/>
<นโยบายโดเมน ="ทรัพยากร" ชื่อ ="ความสูง" ค่า ="256KP"/>
<โดเมนนโยบาย ="ทรัพยากร" ชื่อ ="พื้นที่" ค่า ="1024MB"/>
<นโยบายโดเมน ="ทรัพยากร" ชื่อ ="ดิสก์" ค่า ="4GiB"/>
...

เครื่องมือที่สองคือคู่ของ pdf2ps และ ps2pdf โดยทั่วไป คุณต้องการแปลงไฟล์ PDF เป็นไฟล์ PS แล้วเปลี่ยนกลับเป็น PDF ซึ่งจะทำให้เอกสารแบนลงได้อย่างมีประสิทธิภาพ คำสั่งวิเศษทำหน้าที่อะไร:

pdf2ps ต้นฉบับ.pdf - | ps2pdf - แบน.pdf

วิธีนี้ใช้ได้ดีและรวดเร็ว - แต่ค่าดีฟอลต์จะส่งผลให้ภาพมีความละเอียดต่ำเนื่องจากการบีบอัดที่รุนแรง นี่คือสิ่งที่ต้องคำนึงถึงและทดลองกับตัวเลือกต่างๆ ในเครื่องมือ เพื่อให้แน่ใจว่าคุณรักษาความเที่ยงตรงของเอกสารตามที่คุณต้องการ

บทสรุป

และนั่นคุณไป ตอนนี้คุณได้เรียนรู้วิธีทำให้ไฟล์ PDF แบนราบแล้ว ความซับซ้อนทางเทคนิคของวิธีการทำงานทั้งหมดนี้อยู่นอกเหนือขอบเขตของบทความนี้ แต่อย่างน้อยคุณก็มีเครื่องมือในการทำงานให้สำเร็จลุล่วง ประสบการณ์ของฉันแสดงให้เห็นว่า Ghostscript รวดเร็วและมีประสิทธิภาพมากที่สุด ในขณะเดียวกันก็ให้ผลลัพธ์ที่ดีที่สุดตลอดทาง

คุณยังสามารถลองใช้ยูทิลิตี้อีกสองตัวที่กล่าวถึง - ImageMagick และคอมโบ pdf2ps/ps2pdf อย่างไรก็ตาม ฉันไม่พอใจกับผลลัพธ์ที่ได้ อย่างไรก็ตาม หากคุณต้องแชร์ไฟล์ PDF กับผู้อื่น และคุณต้องการตรวจดูตัวอย่างข้อมูลที่อยู่ในนั้น ตอนนี้คุณมีขั้นตอนการสอน 2 ขั้นตอนเพื่อจัดเรียงข้อมูลนี้ คู่มือที่สองนี้ทำให้ภาพสมบูรณ์ ลาก่อน

ไชโย.