ปรับขนาดเป็นชุดและบีบอัดไฟล์ PDF


15

ฉันต้องการวิธีลดขนาดและบีบอัดไฟล์ PDF เป็นกลุ่ม ฉันต้องการทำสิ่งนี้บน Windows แต่ Linux จะใช้ได้ถ้ามันหมายถึงเวิร์กโฟลว์ที่ราบรื่น

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

ข้อมูลความเป็นมา: ฉันใช้ CamScanner เพื่อรับใบเสร็จและใบแจ้งหนี้แบบดิจิทัลสำหรับการเข้าสู่บัญชี (FreeAgent) CamScanner PDF เป็นไฟล์ขนาด A4 และหลายหน้าซึ่งมักจะเกินขีด จำกัด ของไฟล์แนบ 2MB

คำตอบ:


15

ฉันแนะนำเครื่องมือบรรทัดคำสั่งที่นี่ซึ่งสามารถจับคู่กับลูปในภาษาสคริปต์ในตัวใน Windows, Linux, OS X และอื่น ๆ ได้อย่างง่ายดาย


ImageMagickรองรับ PDF และมีresizeตัวเลือกด้วยเครื่องมือการแปลง ฉันไม่เคยใช้มันเป็นการส่วนตัว แต่คุณสามารถลองเล่นกับมันได้

คุณยังสามารถใช้compressตัวเลือก (มีตัวอย่างที่นี่ ):

หมุนไฟล์ PDF

$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf

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

สำหรับ PDF แบบหลายไฟล์คุณอาจต้องการใช้pdftkจากนั้นใช้mogrifyImageMagick เพื่อแปลงแต่ละหน้า

$ pdftk in.pdf burst
$ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf
$ pdftk pg*.pdf cat output out.pdf
$ rm pg*.pdf


ในการแปลงไฟล์ PDF ด้วย ImageMagick คุณจะต้องติดตั้งGhostScript


ImageMagick สามารถแปลงไฟล์ PDF หลายไฟล์ ในขณะที่mogrifyจะแปลงในสถานที่ฉันขอแนะนำให้คุณใช้convertเพื่อให้คุณสามารถเก็บต้นฉบับในกรณีที่เกิดอุบัติเหตุ


ฉันได้ทำการทดสอบ PDF ตัวอย่างที่คุณให้มาแล้ว สิ่งนี้ทำงานได้ค่อนข้างดีสำหรับฉัน:

convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf

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

บีบอัดไฟล์ JPEG ทั้งรถยนต์ควรเลือกระดับเริ่มต้นหรือ92โยของ1ไป100กับ100การที่ดีที่สุด การตั้งค่าที่20มันดูดีเกือบจะเป็นต้นฉบับ (เล็กน้อย fuzzier และข้อความเล็ก ๆ ที่ด้านล่างเป็นเรื่องยากที่จะอ่านเล็กน้อย แต่มันก็เป็นเดิมอยู่แล้ว)

ตัวเลือกเหล่านี้ทำให้ตัวอย่าง1.7MBของคุณลดลงเหลือ0.5MBในขณะที่สามารถอ่านได้ คุณสามารถทดลองได้เล็กน้อย

หากคุณต้องการมีขนาดเล็กลง (ทั้งของไฟล์และภาพ / PDF), คุณสามารถใช้เช่น-resize #% -resize 75%ในตัวอย่าง PDF ของคุณสิ่งนี้ทำให้งานพิมพ์ขนาดเล็กที่ด้านล่างอ่านไม่ได้

หากคุณยังคงมีพื้นที่ จำกัด โดยเฉพาะไฟล์ PDF หลายไฟล์คุณสามารถบีบอัดเพิ่มเติมได้โดยเพิ่มไฟล์ลงในไฟล์ ZIP (หรืออื่น ๆ ) ซึ่งทำให้ขนาดไฟล์ลดลงเหลือ 0.43MB สำหรับการทดสอบ PDF นั้น (การลดคุณภาพการบีบอัด JPEG มีผลกระทบที่รุนแรงกว่า) คุณสามารถแบ่งไฟล์ PDF ออกเป็นหน้าpdftkๆ ตามที่@glallenแนะนำในการแก้ไขของเขาหรือแยกไฟล์เก็บถาวรและรวมกันอีกครั้งที่ปลายอีกด้าน

2MB เป็นขีด จำกัด การแนบที่ค่อนข้างเล็กคุณอาจต้องการค้นหาผู้ให้บริการอีเมลรายอื่น จากหน่วยความจำ GMail ให้มากกว่า 10MB ต่ออีเมล

ตัวเลือกเหล่านี้และอื่น ๆ ได้รับการบันทึกอย่างเต็มที่ในเว็บไซต์ของตน


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

@paganompu ตามที่ฉันเข้าใจคุณต้องการลดขนาดไฟล์ บีบอัดเป็นJPEGอย่างไร เป็นอย่างไรresizeบ้าง? คุณมีไฟล์ตัวอย่าง (ไม่ไวต่อความรู้สึก) ที่เราสามารถเล่นได้หรือไม่? การสุ่มตัวอย่างเป็นที่ยอมรับได้หรือไม่?
บ๊อบ

JPEG น่าจะใช้ได้ แต่ฉันต้องอัปโหลดเอกสารหลายหน้าและฉันสามารถมีไฟล์แนบได้เพียงหนึ่งรายการต่อรายการบัญชี การสุ่มตัวอย่างรุนแรง: เอกสารทดสอบนี้ไม่สามารถอ่านได้หลังจากแปลงด้วยการบีบอัดแบบไม่สูญเสีย
Stan

@paganompu ฉันได้ทดลองตัวเองแล้วและฉันก็ได้อัปเดตคำตอบด้วยคำสั่งที่ใช้งานได้ ดูที่นี่สำหรับการทดสอบไฟล์ของคุณ
บ๊อบ

คำสั่งนั้นใช้งานได้อย่างมีเสน่ห์ ดูเหมือนว่า "downsampling" ของฉันเกิดจากการข้ามdensity... ฉันสาบานว่าฉันสามารถอ่านและทำตามคำแนะนำ! บิตอายในขณะนี้: S ขอบคุณที่สละเวลาเพื่อช่วยฉัน Bob
สแตน

19

ดังนั้นconvertจาก ImageMagick จะสร้าง PDF แบบแรสเตอร์และหลาย ๆ คนสนใจที่จะรักษากราฟิกแบบเวกเตอร์และข้อความโดยไม่ถูกแตะต้องดังนั้นรูปภาพที่ถูกฝังจะถูกบีบอัดเท่านั้น ทางเลือกที่ดีในการสร้างการบีบอัดคือการใช้gsจากghostscriptตัวอย่างแพคเกจการใช้งาน:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf

ในพารามิเตอร์คำสั่งด้านบน: -dPDFSETTINGS=/ebookเป็นสิ่งสำคัญ มันสามารถมี 3 ค่า:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.