Làm thế nào để giảm kích thước của một tập tin pdf?


51

Tôi đang tìm cách trong Ubuntu để giảm kích thước của pdf (bằng cách giảm chất lượng hình ảnh).

Tôi biết rằng điều này có thể được thực hiện trong Ghostscript bằng cách gõ lệnh sau trong terminal:

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

Vấn đề là tôi không thể chỉ định chất lượng với bất kỳ độ chính xác nào. Tham số -dPDFSETTINGS=/screenlà một trong những quyết định chất lượng; nhưng các lựa chọn thay thế khá cứng nhắc (ví dụ có thể làm -dPDFSETTINGS=/ebookcho chất lượng tốt hơn một chút).

Tôi đang tìm cách giảm kích thước pdf theo cách cho phép tôi chỉ định chất lượng mong muốn bằng số.


Bạn có thể muốn kiểm tra Q & A này .
Glutimate


Nó thực sự là một bản sao!
hectorpal

Câu trả lời:


57

Tôi đã có thể thực hiện một biến thể nhỏ cho lệnh của bạn thành công bằng cách sử dụng tùy chọn -r300 từ @drN Tùy chọn -r cho phép bạn đặt độ phân giải đầu ra trong pdf cũng như png.

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

7
Lệnh này đã chuyển đổi một tệp PDF 4 trang 25 MB thành chất lượng gần như tương tự, nhưng 2 MB. Chúc mừng!
Yanick Rochon

Điều này hoạt động với hầu hết các tập tin. Tuy nhiên, trong một số trường hợp, nó thực sự làm tăng kích thước tệp. Có vẻ như -rtùy chọn bị bỏ qua trong những trường hợp này.
Luís de Sousa

Lệnh này đã tiêu thụ tất cả RAM của tôi (8Gb) và đóng băng máy tính xách tay của tôi với tệp pdf 1000 trang.
Làm

12

Hai bài đăng mà tôi đã đăng trên Stackoverflow sẽ giúp bạn. Tôi đã cố gắng giảm kích thước của pdf trong khi đảm bảo rằng chúng đáp ứng một dpi hoặc ppi nhất định cho luận án của tôi.

Giảm kích thước pdf với ghostscript

Thay đổi dpi hình ảnh pdf bằng gs

Bạn đã thử chơi xung quanh với convertLinux chưa?

Biên tập:

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

Nếu tôi nhớ chính xác, r300là đầu ra dpinhưng bạn có thể muốn kiểm tra. Điều này chuyển đổi một pdf thành một png, mặc dù.

HOẶC LÀ

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

Hãy cho chúng tôi biết làm thế nào nó đi! Đây là định dạng pdf hoặc bất kỳ định dạng nào khác với bất kỳ định dạng nào khác. Tôi vừa sử dụng một tệp đầu vào của myPic.pdf và một tệp đầu ra của fileout.pdf


Hmm ... Tôi đã xem xét các câu hỏi mà bạn liên kết đến. Chúng rất thú vị, nhưng thật khó để đưa ra một lệnh cụ thể mà tôi nên sử dụng. Tôi đang tìm kiếm một lệnh có một số giá trị số mà tôi có thể chơi với nó sẽ xác định chất lượng. Bạn có thể thực hiện một lệnh như vậy? Có thể làm điều đó bằng cách sử dụng chuyển đổi?
Nicole

Tôi đã chỉnh sửa câu trả lời của mình để bao gồm một số tùy chọn đơn giản hơn. Hãy xem và cho chúng tôi biết! :)
dearN

1
Việc chuyển đổi làm tăng kích thước pdf của tôi, ngay cả khi tôi sử dụng 100 dpi. Có lẽ sự lựa chọn tốt nhất là chuyển đổi sang png bằng cách sử dụng "gs" và sau đó "chuyển đổi" để chuyển sang pdf?
Nicole

@Nicole Luôn có vấn đề với chuyển đổi pdf. Bạn đề xuất sử dụng pdf để làm gì?
dearN

@Nicole Tôi nhận thấy rằng để có được kết quả tốt nhất cho các tệp pdf / eps, tôi phải quay lại chương trình tạo pdf ở vị trí đầu tiên và thay đổi các tùy chọn lưu của mình để lưu trong dpi / ppi mà tôi muốn. Tôi hy vọng điều đó có ích và có thể là một chút đau đớn phía sau.
dearN

12

Cách đơn giản nhất mà tôi tìm thấy là mở tệp PDF nguồn bằng LibreOffice Draw và sau đó xuất sang PDF với DPI dự kiến. Cửa sổ xuất khẩu của Draw cho phép bạn chỉ định DPI và các tùy chọn khác cho PDF đã xuất.


1
Tôi đã thử tất cả những thứ dòng lệnh khác, nhưng cuối cùng, điều này cho phép tôi tăng độ nén đủ cho mục đích của mình.
C.Rogers

1
Cách đồ họa, vẫn còn rất nhiều kiểm soát.
Agmenor

Tôi phát hiện ra rằng LibreOffice Draw tốt hơn trong việc in / xuất pdf hơn bất kỳ thứ gì khác, vì vậy +1.
Yoric

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

Đây là cách dễ nhất tôi nghĩ, có thể giảm kích thước xuống 50 +/- kb. Trên thiết bị đầu cuối của bạn, đi đến thư mục của tệp: ví dụ

cd ~/document/files

Sau đó nhập mã ở trên:

myNewFile.pdf

là tên mới của tập tin và

myOldFile.pdf

là tên của tập tin

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.