Câu hỏi Làm cách nào để giảm kích thước tệp của tệp PDF được quét?


Tôi có một tập tin PDF 72,9MB mà tôi cần phải thu nhỏ lại dưới 500KB.

Tệp là một hình ảnh JPEG mà tôi đã quét và sau đó được chuyển đổi thành pdf.


294
2018-03-16 17:12


gốc


nó phụ thuộc vào những gì tiêu thụ không gian ... cần nhiều thông tin hơn. nén không gian hình ảnh có thể hữu ích, nhưng nếu bạn đang cố gắng phun một đống tệp lớn, điều đó sẽ không hoạt động. nghiêm túc cần thêm thông tin. - RobotHumans
chuyển đổi nó sang DjVu, thay vì cố gắng giảm kích thước PDF không thể (theo nguồn) - zetah
tập tin là một hình ảnh jpeg mà tôi đã quét, và sau đó chuyển đổi thành pdf. - tamimym
Nó chỉ có vẻ như giúp các tập tin một chút, nhưng pdfopt có một cú pháp đơn giản và cải thiện tốc độ tải và chuyển trang trong thời đại iPad. :-) - Ari B. Friedman
PDF to PS không hiệu quả trong tệp PDF được quét, tôi cố gắng chuyển đổi 56 MB pdf thành tệp ps nhưng tệp ps chuyển đổi thành 1,3 GB và một lần nữa ps2pdf được chuyển đổi thành tệp 45 MB


Các câu trả lời:


aking1012 là đúng. Với nhiều thông tin liên quan đến hình ảnh nhúng có thể, siêu liên kết vv .. sẽ dễ dàng hơn nhiều để trả lời câu hỏi này!

Dưới đây là một vài giải pháp kịch bản và dòng lệnh. Sử dụng như bạn thấy phù hợp.


119
2018-03-16 17:28



Cảm ơn bạn rất nhiều vì gợi ý của bạn, shell ghostscript làm việc kỳ diệu và thu nhỏ nó xuống 460KB :) - tamimym
Điều đó chưa hẳn đã đúng. Nếu nội dung đi từ một hình ảnh đến văn bản, đó là nhiều hơn fessible. [Đó là giả định rằng văn bản là chính xác ocred] - monksy
Tôi khuyên bạn nên kịch bản shrinkpdf.sh, bạn có thể tùy chỉnh mã để sử dụng giá trị ppi bạn muốn (72 theo mặc định) và tiếp cận chính xác các tệp bạn cần phải hy sinh chất lượng ít nhất. Điều này khiến tôi có thể tải lên tài liệu được quét 11 MB với giá thầu CPC kích thước 3 MB mà không làm mất nhiều chất lượng. - Severo Raz
shrinkpdf hoạt động tuyệt vời! - AmanicA
Liên kết đầu tiên, với cài đặt "/ ebook", giảm 19MB tệp được quét xuống 4.2MB và văn bản được quét vẫn có thể đọc được. - dremodaris


Sử dụng các mục sau ghostscript chỉ huy:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
  • -dPDFSETTINGS=/screen chất lượng thấp hơn, kích thước nhỏ hơn. (72 dpi)
  • -dPDFSETTINGS=/ebook để có chất lượng tốt hơn, nhưng bản pdf lớn hơn một chút. (150 dpi)
  • -dPDFSETTINGS=/prepress đầu ra tương tự như cài đặt Acrobat Distiller "Prepress Optimized" (300 dpi)
  • -dPDFSETTINGS=/printer chọn đầu ra tương tự như cài đặt Acrobat Distiller "Print Optimized" (300 dpi)
  • -dPDFSETTINGS=/default chọn đầu ra có ý định hữu ích trong nhiều ứng dụng khác nhau, có thể là do chi phí của một tệp đầu ra lớn hơn

407
2018-02-15 13:53



Người ta cũng có thể làm cho một kịch bản Nautilus để truy cập chức năng này cho mỗi tập tin. - Sina
Đây sẽ là câu trả lời được chấp nhận. ghostscript là các PDF, XPS và PS thực hiện cho các hợp đồng và có thể làm về cơ bản tất cả mọi thứ cung cấp chất lượng tốt nhất ... - dom0
@ Sina: Thực ra có một kịch bản Nautilus với GUI đơn giản dựa trên Zen sử dụng lệnh gs này với tất cả các tùy chọn mức chất lượng của nó: launchpad.net/compress-pdf - Sadi
Đây là câu trả lời đúng cho câu hỏi này (nén một pdf hầu hết là dữ liệu bitmap). Tôi thấy rằng screen cài đặt chất lượng quá thấp đối với tôi, nhưng ebook làm việc tốt, cắt một PDF 33Mb dựa trên quét xuống 3.6Mb, và giữ nó rất dễ đọc. Các tùy chọn khác cho -dPDFSETTINGS tùy chọn được liệt kê ở đây: milan.kupcevic.net/ghostscript-ps-pdfvà có thể là một ý tưởng hay khi đưa chúng vào câu trả lời này. - naught101
gs thông số cấu hình có sẵn: ghostscript.com/doc/current/Ps2pdf.htm - Antonios Hadjigeorgalis


Cách yêu thích của tôi để làm điều này là chuyển đổi pdf sang ps và ngược lại. Nó không phải lúc nào cũng hoạt động, tuy nhiên, khi nó hoạt động thì kết quả là tốt đẹp:

ps2pdf input.pdf output.pdf

Điều này cũng trực tiếp hoạt động trên pdf, như đề xuất trong các ý kiến.


123
2018-01-16 09:18



Đây là một cách rất đơn giản và hiệu quả để làm điều đó. Tôi đã rất ngạc nhiên khi thấy phương pháp này nén các tệp. Cảm ơn bạn! - Gabriel
Mặc dù thực tế rằng cách tiếp cận này đã trở thành giải pháp yêu thích của tôi để nén các tệp pdf, nó phá vỡ các liên kết url mà tài liệu có thể có (điều này không xảy ra với cách tiếp cận @Michael D). Ngoài ra, khiếp sợ là tất cả những gì tôi có thể nghĩ đến khi chạy đoạn mã này! (: - Rubens
@ Rubens Ah. Không biết về thực tế là nó phá vỡ các liên kết url. Cảm ơn bạn đã thêm điều đó. - don.joey
Điều này bỏ qua bảo vệ mật khẩu ... chỉ cần nói ' - jojo
ps2pdf sẽ lấy pdf làm đầu vào, vì vậy bạn có thể làm điều này trong một bước: ps2pdf intput.pdf output.pdf - frabjous


Nếu bạn có một pdf với hình ảnh được quét, bạn có thể dùng convert để tạo pdf với nén jpeg (Bạn có thể sử dụng phương pháp này trên bất kỳ pdf nào, nhưng bạn sẽ mất tất cả thông tin văn bản).

Ví dụ:

convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf

Điều chỉnh tỉ trọng (ví dụ: 100x100) và phẩm chất theo nhu cầu của bạn.

Tùy thuộc vào jpeg đầu vào của bạn nén có thể không phải là lựa chọn tốt nhất do các hiện vật nén. Bạn có thể lựa chọn giữa BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE hoặc Zip làm phương pháp nén thay thế (một số chỉ cho phép hình ảnh b / w). Để biết chi tiết, hãy xem đây.

Tôi đã có thể đạt được tỷ lệ nén tuyệt vời cho các tài liệu được quét / chụp ảnh (tùy thuộc vào cài đặt). Tùy thuộc vào nguồn tài liệu, bạn có thể muốn giảm độ sâu màu (-depth tranh luận).


106
2018-05-19 17:39



Đối với một tài liệu được quét nơi văn bản là thứ bạn quan tâm hơn là hình ảnh và độ sâu bảo quản không phải là vấn đề, nén jpeg không phải là một ý tưởng hay vì các tạo phẩm có xu hướng cực kỳ đáng chú ý. Nếu bạn dùng pdfimages input.pdf pages để trích xuất các tệp pbm, sau đó bạn có thể thực hiện một số việc như: for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf. Mọi OCR sẽ bị mất nên tôi thường làm pdfsandwich output.pdf, có vẻ như giảm kích thước tệp hơn nữa. - Brian Z
@BrianZ chắc chắn nén jpeg không phải lúc nào cũng là lựa chọn tốt nhất, nhưng đối với tôi đó là cách tiếp cận tốt nhất cho các tài liệu loại hỗn hợp. Tôi đã thêm một số thông tin về các phương pháp nén khác vào câu trả lời. - someonr
Phương pháp này sử dụng cuối cùng gs đằng sau hậu trường. - alfC
Tôi đã phải sử dụng dấu gạch ngang kép cho các tùy chọn để chạy lệnh --density --quality --compress so với -density -quality -compress. - Rotareti
Nếu hình ảnh qaulity không phải là mối quan tâm cao nhất (và bạn chỉ muốn nhận được rằng tập tin đính kèm email dang đủ nhỏ để được gửi) người ta có thể thêm -resize 50% quá, thay đổi tỷ lệ phần trăm tùy thuộc vào số lượng DPI được sử dụng trong khi quét - chrki


Tôi cần phải giảm kích thước tệp PDF chứa toàn bộ bản quét màu của tài liệu. Mỗi trang của tôi là một hình ảnh đầy đủ màu sắc như xa như các tập tin đã được quan tâm. Chúng là hình ảnh của các trang chứa văn bản và hình ảnh, nhưng chúng được tạo ra bằng cách quét vào một hình ảnh.

Tôi sử dụng một sự kết hợp của lệnh ghostscript dưới đây và một từ một chủ đề khác.

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

Điều này làm giảm độ phân giải hình ảnh xuống 150dpi, giảm kích thước tệp của tôi xuống một nửa. Nhìn vào tài liệu, hầu như không có sự mất mát đáng kể nào về chất lượng hình ảnh. Văn bản vẫn hoàn toàn có thể đọc được trên Nexus7 2012 của tôi.


30
2018-01-19 06:25



+1 cho hình ảnh lấy mẫu xuống nhưng vẫn giữ văn bản dưới dạng vectơ. Thực hiện một sự khác biệt rất lớn ở bên mà không làm cho văn bản của tôi pixelated. - Jason O'Neil


Đây là một kịch bản để viết lại các tệp PDF được quét:

#!/bin/sh

gs  -q -dNOPAUSE -dBATCH -dSAFER \
    -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.3 \
    -dPDFSETTINGS=/screen \
    -dEmbedAllFonts=true \
    -dSubsetFonts=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=72 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=72 \
    -sOutputFile=out.pdf \
     $1

Bạn có thể tùy chỉnh nó một chút để làm cho nó tái sử dụng nhiều hơn nhưng nếu bạn chỉ có một pdf, bạn chỉ có thể thay thế $1 với tên tập tin pdf của bạn và bung nó trong một thiết bị đầu cuối.


24
2017-08-31 20:29



Làm việc một điều trị, cảm ơn Oli. Bạn đã trả lời khá nhiều mọi thứ tôi đã hỏi ở đây cho đến nay :-D - Rob Cowell
Đây là một câu trả lời tốt nhưng trong trường hợp của tôi ít nhất phải mất một nhiều thời gian để chuyển đổi một tệp PDF lớn (> 10Mb) (hơn một phút). - Gabriel
Tôi không chắc chắn những gì sẽ xảy ra, nhưng một 30 MB PDF kết quả một tập tin 68 MB. Thay vì giảm, nó phóng to. Cùng một đầu ra nếu sử dụng trực tiếp ps2pdf như đã nêu trong câu trả lời tiếp theo. - Ed Villegas
@EdVillegas Điều duy nhất tôi có thể nghĩ đến (để giải thích rằng loại tăng) là các hình ảnh có độ phân giải thấp hơn các hình ảnh được tạo ra (72dpi). Hoặc bằng cách nào đó, nhúng phông chữ vào tất cả các các phông chữ. - Oli♦


Tôi thường sử dụng ps2pdf để làm điều này (cú pháp dễ dàng hơn), một cái gì đó như thế này:

ps2pdf -dPDFSETTINGS=/ebook BiggerPdf SmallerPDF

Tôi sử dụng tập lệnh python sau để giảm kích thước của tất cả các tệp pdf trong một thư mục trong máy chủ sản xuất (8.04). Vì vậy, nó sẽ làm việc.

#!/usr/bin/python

import os

for fich in os.listdir('.'):
        if fich[-3:]=="pdf":
                os.system("ps2pdf -dPDFSETTINGS=/ebook %s reduc/%s" % (fich,fich))

15
2017-09-01 07:26



Cảm ơn các giải pháp thay thế. Tôi đã thử Oli đầu tiên và nó đã cho tôi kết quả tôi cần, nhưng tôi sẽ giữ cái này để tham khảo trong tương lai. - Rob Cowell
-dPDFSETTINGS = / tùy chọn máy in thực hiện thay đổi kích thước 50%. ebook làm giảm kích thước 90%. - neouyghur


  1. tôi sử dụng Vẽ LibreOffice để mở pdf.
  2. Sau đó tôi "xuất dưới dạng pdf"
  3. Và đặt "chất lượng nén jpeg" thành 50% và "độ phân giải hình ảnh" thành 150 dpi

Điều này sẽ có một kết quả tốt.


13
2018-06-14 09:59



Giải pháp tồi tệ nhất có thể cho vấn đề! Nó hoàn toàn làm hỏng tập tin của tôi! - ThatIs


Tốt nhất cho tôi là

convert -compress Zip -density 150x150 input.pdf output.pdf

Những cách khác:

#### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de

Trân trọng


6
2018-04-21 11:03



tốt tóm tắt nhờ - Gery
Giải pháp tuyệt vời. Dễ nhớ và nó mang pdf của tôi từ 32 đến 3,5 MB mà không mất khả năng đọc dễ đọc. - Immanuel Weihnachten