จะลดขนาดไฟล์ pdf ได้อย่างไร?


51

ฉันกำลังมองหาวิธีใน Ubuntu เพื่อลดขนาดของ pdf (โดยลดคุณภาพของภาพ)

ฉันรู้ว่าสิ่งนี้สามารถทำได้ใน Ghostscript โดยพิมพ์คำสั่งต่อไปนี้ใน terminal:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

ปัญหาคือฉันไม่สามารถระบุคุณภาพด้วยความแม่นยำใด ๆ พารามิเตอร์-dPDFSETTINGS=/screenคือพารามิเตอร์ที่ตัดสินใจเกี่ยวกับคุณภาพ แต่ทางเลือกค่อนข้างเข้มงวด (เช่นเป็นไปได้ที่จะทำ-dPDFSETTINGS=/ebookเพื่อคุณภาพที่ดีขึ้นเล็กน้อย)

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


คุณอาจต้องการตรวจสอบคำถาม & คำตอบนี้
— Glutanimate


มันซ้ำซ้อนแน่นอน!
— hectorpal

คำตอบ:


57

ฉันสามารถสร้างความแตกต่างเล็กน้อยในคำสั่งของคุณประสบความสำเร็จโดยใช้ตัวเลือก -r300 จาก @drN ตัวเลือก -r ช่วยให้คุณสามารถตั้งค่าความละเอียดออกในรูปแบบ pdf เช่นเดียวกับ png

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
    -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages \
    -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

7
คำสั่งนี้แปลง PDF ขนาด 4 หน้า 25 เมกะไบต์ให้กลายเป็นคุณภาพที่เกือบจะเท่ากัน แต่เป็น 2MB ไชโย!
— Yanick Rochon

ใช้งานได้กับไฟล์ส่วนใหญ่ อย่างไรก็ตามในบางกรณีมันเพิ่มขนาดไฟล์จริง ดูเหมือนว่า-rตัวเลือกจะถูกละเว้นในกรณีเหล่านี้
— Luís de Sousa

คำสั่งนี้ใช้ RAM ทั้งหมดของฉัน (8Gb) และทำให้แล็ปท็อปของฉันแข็งด้วยไฟล์ PDF 1000 เพจ
— ถึงทำ

12

โพสต์ทั้งสองที่ฉันโพสต์ไว้ใน Stackoverflow น่าจะช่วยคุณได้ ฉันพยายามลดขนาดของไฟล์ PDF ในขณะที่ทำให้แน่ใจว่าพวกเขาพบ dpi หรือ ppi ที่แน่นอนสำหรับวิทยานิพนธ์ของฉัน

การลดขนาดของ pdf ด้วย ghostscript

การเปลี่ยนรูปภาพ pdf dpi โดยใช้ gs

คุณลองเล่นด้วยconvertใน Linux หรือไม่?

แก้ไข:

gs \
  -o out300.png \
  -sDEVICE=pngalpha \
  -r300 \
   input.pdf

หากฉันจำได้ถูกต้องr300ก็คือผลลัพธ์dpiแต่คุณอาจต้องการตรวจสอบ แม้ว่าจะแปลงไฟล์ PDF เป็น png ก็ตาม

หรือ

convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf

บอกให้เรารู้ว่ามันไปได้ยังไง! นี่เป็นไฟล์ PDF หรือรูปแบบอื่นใดไปเป็นรูปแบบอื่น ๆ ฉันเพิ่งใช้ไฟล์อินพุตของ myPic.pdf และไฟล์เอาต์พุตของ fileout.pdf


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

ฉันแก้ไขคำตอบของฉันเพื่อรวมตัวเลือกที่ง่ายขึ้น ลองดูและแจ้งให้เราทราบ! :)
— เรียน

1
การแปลงเพิ่มขนาด PDF ของฉันแม้ว่าฉันจะใช้ 100 dpi บางทีตัวเลือกที่ดีที่สุดคือการแปลงเป็น png โดยใช้ "gs" แล้ว "แปลง" เพื่อไปยัง pdf?
— Nicole

@Nicole มีปัญหาเกี่ยวกับการแปลง PDF อยู่เสมอ คุณเสนอให้ใช้ pdf เพื่ออะไร
— เรียน

@ Nicole ฉันสังเกตเห็นว่าเพื่อให้ได้ผลลัพธ์ที่ดีที่สุดสำหรับไฟล์ pdf / eps ฉันต้องกลับไปที่โปรแกรมที่สร้างไฟล์ PDF ในตอนแรกและเปลี่ยนตัวเลือกการบันทึกของฉันเพื่อบันทึกใน dpi / ppi ที่ฉันต้องการ ฉันหวังว่าจะช่วยและใช่ว่าอาจเป็นความเจ็บปวดเล็กน้อยที่ด้านหลัง
— เรียน

12

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


1
ฉันลองสิ่งบรรทัดคำสั่งอื่น ๆ ทั้งหมด แต่ในท้ายที่สุดสิ่งนี้ทำให้ฉันเพิ่มการบีบอัดให้เพียงพอสำหรับวัตถุประสงค์ของฉัน
— C.Rogers

1
วิธีกราฟิกที่ยังคงมีการควบคุมจำนวนมาก
— Agmenor

ฉันพบว่า LibreOffice Draw ดีกว่าในการพิมพ์ / ส่งออก pdf มากกว่าแค่เรื่องอื่นดังนั้น +1
— Yoric

1
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=myNewFile.pdf myOldFile.pdf

นี่เป็นวิธีที่ง่ายที่สุดที่ฉันคิดว่าสามารถลดขนาดลงเหลือ 50 +/- kb บนเทอร์มินัลของคุณไปที่ไดเรกทอรีของไฟล์: ตัวอย่าง

cd ~/document/files

จากนั้นพิมพ์รหัสด้านบนโดยที่:

myNewFile.pdf

เป็นชื่อใหม่ของไฟล์และ

myOldFile.pdf

เป็นชื่อของไฟล์

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