จะลดขนาดไฟล์ 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.