2012-02-29 25 views
21

Cần một giải pháp dựa trên Java hoặc, ở dòng lệnh tồi tệ nhất cho Linux.Làm cách nào để giảm bớt hình ảnh trong tệp PDF?

Tôi cố gắng để sử dụng Ghostscript:

gs -sDEVICE=pdfwrite -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor \ 
    -sProcessColorModel=DeviceCMYK -sPDFACompatibilityPolicy=1 \ 
    -sOutputFile=downgraded.pdf leon_range_my12_w22_brochure.pdf 

nhưng tôi có rất nhiều lỗi ...

+2

Các thông số đó sẽ không ảnh tĩnh xuống. Bạn đang sử dụng phiên bản GS nào và đã báo cáo lỗi dưới dạng lỗi? Chuyển đổi -dPDFA cần thêm thông tin để tạo tệp PDF/A phù hợp mà bạn chưa cung cấp. Có thể các 'lỗi' thực sự là cảnh báo .... – KenS

Trả lời

3

Hãy thử moonshiner, một GUI để Ghostscript.

+0

trong khi moonshiner thực sự trông đầy hứa hẹn trong 5 tháng hoạt động phát triển của nó trên Sourceforge vào năm 2009, ngày nay có vẻ như đó là một dự án đã chết. Không có thông tin cập nhật từ tháng 5 năm 2009 .... :-( –

+0

trông rất hữu ích cho việc điều chỉnh chuỗi dòng lệnh cho gs – macromaniac

+2

@pipitas Tôi đã không thực hiện bất kỳ thay đổi lớn nào đối với moonshiner chủ yếu bởi vì theo như tôi quan tâm, nó khá Tôi đồng ý rằng việc thiếu hoạt động làm cho nó trông chết, nhưng tôi vẫn sử dụng nó rộng rãi cho đến ngày nay.Tôi chỉ không có bất cứ điều gì để thêm nữa :) – balpha

31

Dưới đây là một ví dụ về cách bạn có thể downsample tất cả hình ảnh (màu sắc, màu xám và mono) để 72dpi với một commandline Ghostscript:

gs \ 
    -o downsampled.pdf \ 
    -sDEVICE=pdfwrite \ 
    -dDownsampleColorImages=true \ 
    -dDownsampleGrayImages=true \ 
    -dDownsampleMonoImages=true \ 
    -dColorImageResolution=72 \ 
    -dGrayImageResolution=72 \ 
    -dMonoImageResolution=72 \ 
    -dColorImageDownsampleThreshold=1.0 \ 
    -dGrayImageDownsampleThreshold=1.0 \ 
    -dMonoImageDownsampleThreshold=1.0 \ 
    input.pdf 

Cập nhật:
Các thông số *ImageDownsampleThreshold=1.0 thi hành mà tất cả Hình ảnh có độ phân giải cao hơn độ phân giải mục tiêu 72 dpi sẽ bị cắt bớt. Nếu tham số này không được đưa ra (hoặc được đặt thành một giá trị khác), các giá trị mặc định sẽ được sử dụng: *ImageDownsampleThreshold=1.5. Giá trị mặc định này sẽ chỉ làm giảm các hình ảnh có giá trị 108 dpi (hoặc cao hơn) và để các hình ảnh khác không bị ảnh hưởng.

+0

@codin: Nhận xét không phải để thảo luận về một chủ đề hoàn toàn mới. Hãy hỏi một câu hỏi mới, đánh dấu nó là '[ghostscript]' + '[pdf]' và tôi sẽ cố gắng trả lời nó tốt nhất có thể. Vui lòng nêu rõ mục đích của yêu cầu của bạn là gì. Tiết kiệm trên các tập tin? Xóa thông tin chứa trong hình ảnh? Hoặc là? –

+0

Cảm ơn bạn Kurt, câu trả lời tuyệt vời! Tôi đã cố gắng giảm độ phân giải hình ảnh xuống 36, nhưng kích thước của tệp đầu ra không thay đổi, mặc dù 70% kích thước của nó đã được đưa ra từ một hình ảnh trong trang đầu tiên. Bất kỳ ý tưởng về lý do tại sao? –

+1

@GuidoWalterPettinari: Không có quyền truy cập vào bản thân PDF, tôi sẽ không suy đoán. Có thể bạn có thể áp dụng câu trả lời sau cho tệp của mình để thu hẹp các phần tử chiếm phần lớn byte của nó: http://stackoverflow.com/a/37858893/359307 –

11

Đây là những gì tôi đang sử dụng:

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

Đối với các bạn tham khảo:

-dPDFSETTINGS =/màn hình (màn hình-view-only chất lượng, 72 hình ảnh dpi)

- dPDFSETTINGS =/ebook (hình ảnh chất lượng thấp, 150 dpi)

-dPDFSETTINGS =/printer (chất lượng cao, hình ảnh 300 dpi)

-dPDFSETTINGS =/chế bản (chất lượng cao, màu sắc bảo quản, 300 imgs dpi)

-dPDFSETTINGS =/default (gần giống/màn hình)

1

Đối với một tài liệu quét, trong đó mỗi trang là một đầy đủ hình ảnh màu, tôi đã sử dụng kết hợp dòng lệnh ở trên và một hình ảnh khác mà tôi tìm thấy trên một trang web khác,

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \ 
-dColorImageResolution=150 -dNOPAUSE -dBATCH -sOutputFile=output.pdf input.pdf 

Mỗi trang của tôi là một bản quét màu của tài liệu. Dòng lệnh này giảm độ phân giải của các trang xuống còn 150dpi, giảm kích thước tệp xuống một nửa mà không làm giảm đáng kể độ phân giải. Nó vẫn có vẻ tốt và văn bản có thể đọc được thoải mái trên Nexus của tôi 7.

+0

là lệnh này bạn đang sử dụng ở tất cả? vui lòng đăng toàn bộ lệnh nếu bạn đã hợp nhất các kết hợp khác được đăng ở trên. Tôi có vấn đề với màu sắc hình ảnh pdf mà không phải là giảm đúng cách. Cảm ơn –

Các vấn đề liên quan