ghostscript
介绍
Use the following ghostscript command:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Summary of -dPDFSETTINGS:
- -dPDFSETTINGS=/screen lower quality, smaller size. (72 dpi)
- -dPDFSETTINGS=/ebook for better quality, but slightly larger pdfs. (150 dpi)
- -dPDFSETTINGS=/prepress output similar to Acrobat Distiller “Prepress Optimized” setting (300 dpi)
- -dPDFSETTINGS=/printer selects output similar to the Acrobat Distiller “Print Optimized” setting (300 dpi)
- -dPDFSETTINGS=/default selects output intended to be useful across a wide variety of uses, possibly at the expense of a larger output file
Reference: https://www.ghostscript.com/doc/current/VectorDevices.htm#PSPDF_IN:
使用
brew install ghostscript
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
compressjpeginpreview
https://github.com/superman-lopez/compressjpeginpreview
This quartz filter compresses the JPEG in a PDF, while maintaining usable resolution. The purpose of this quartz filter is to use it with Apple’s Preview.app to quickly reduce the file size of images in PDF’s while maintaining legibility. macOS does have a built-in filter called “Reduce File Size” that has the same purpose, however this filter is too aggressive and converts images to a resolution that is too low.
Install
To install this filter for the currently logged-in user, run the below command in Terminal:
mkdir -p ~/Library/Filters/ && curl -o ~/Library/Filters/Compress\ Images\ in\ PDF.qfilter https://raw.githubusercontent.com/superman-lopez/compressjpeginpreview/master/Compress%20Images%20in%20PDF.qfilter
Usage
After this the filter can be used in Preview.app (and other apps that support quartz filters).
- Open the PDF in Preview.app
- Select File and Export…
- Choose Format to be PDF
- Choose Quartz Filter to Compress Images in PDF
- Choose your prefered destination and click Save
Uninstall
To uninstall simply run:
rm ~/Library/Filters/Compress\ Images\ in\ PDF.qfilter