ฉันจะลดขนาดไฟล์ pdf ที่มีภาพได้อย่างไร


19

ฉันมีไฟล์ PDF ที่มีภาพและฉันต้องการลดขนาดเพื่ออัปโหลดไปยังเว็บไซต์ที่มีขนาด จำกัด

ดังนั้นฉันจะลดขนาดไฟล์ pdf จากบรรทัดคำสั่งได้อย่างไร

คำตอบ:


26

คุณสามารถใช้gs- GhostScript (ล่ามและตัวแปลภาษา PostScript และ PDF) ดังต่อไปนี้:

  • ตั้งค่าpdfwriteเป็นอุปกรณ์แสดงผลโดย-sDEVICE=pdfwrite
  • -dPDFSETTINGSใช้ที่เหมาะสม

    จากเอกสาร :

    -dPDFSETTINGS = configuration
    ตั้งค่า"distiller parameters" เป็นหนึ่งในสี่การตั้งค่าที่กำหนดไว้ล่วงหน้า:

    • / หน้าจอเลือกเอาต์พุตความละเอียดต่ำคล้ายกับการตั้งค่า "ปรับหน้าจอ" ของ Acrobat Distiller
    • / ebook เลือกเอาต์พุตความละเอียดปานกลางซึ่งคล้ายกับการตั้งค่า Acrobat Distiller "eBook"
    • / เครื่องพิมพ์เลือกเอาต์พุตคล้ายกับการตั้งค่า Acrobat Distiller "Print Optimized"
    • / prepress เลือกเอาต์พุตที่คล้ายกับการตั้งค่า "Prepress Optimized" ของ Acrobat Distiller
    • / default เลือกเอาต์พุตที่ต้องการให้มีประโยชน์ในการใช้งานที่หลากหลายซึ่งอาจมีค่าใช้จ่ายสูงกว่าไฟล์เอาต์พุต
  • -oตัวเลือกในการส่งออกไฟล์ซึ่งตั้ง-dNOPAUSEและ-dBATCH(ดูพารามิเตอร์ที่เกี่ยวข้องกับการโต้ตอบ )

ตัวอย่าง:

$ du -h file.pdf 
27M file.pdf

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o output.pdf file.pdf

$ du -h output.pdf 
900K    output.pdf

ที่นี่-qระงับข้อความเริ่มต้นปกติและยังเทียบเท่ากับการ-dQUIETระงับความคิดเห็นข้อมูลประจำ


ไม่ได้ผลสำหรับฉัน เอาต์พุต PDF ที่ค้นหาได้โดยtesseractยังคงไม่เปลี่ยนแปลงอย่างสมบูรณ์เมื่อพยายามย่อขนาดด้วยคำสั่งนี้
Gabriel Staples

3
ps2pdf input.pdf output.pdf

ฉันได้รับคำตอบจากการถามอูบุนตูและมันใช้งานได้สำหรับฉัน มันลดลง 18.1Mb เป็น 1.0Mb


ไม่ได้ผลสำหรับฉัน เอาต์พุต PDF ที่ค้นหาได้โดยtesseractยังคงไม่เปลี่ยนแปลงอย่างสมบูรณ์เมื่อพยายามย่อขนาดด้วยคำสั่งนี้
Gabriel Staples

สิ่งนี้ง่ายมากหากคุณไม่สนใจที่จะเลือกตัวเลือกทั้งหมดที่ GhostScript ต้องการ หน้าคนบอกว่าสคริปต์ยอมรับพารามิเตอร์เดียวกันกับgsมันให้ตัวอย่างนี้:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo

0

คุณสามารถลองสิ่งนี้:

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

มันเร็วกว่าgsแต่บีบอัดได้มากถึง 30% ในกรณีนี้สำหรับไฟล์อินพุต 107.5MiB


ไม่ได้ผลสำหรับฉัน เอาต์พุต PDF ที่ค้นหาได้โดยtesseractยังคงไม่เปลี่ยนแปลงอย่างสมบูรณ์เมื่อพยายามย่อขนาดด้วยคำสั่งนี้
Gabriel Staples
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.