GithubHelp home page GithubHelp logo

shrinkpdf's Introduction

Shrinkpdf: shrink PDF files with Ghostscript

Shellcheck Test

A simple wrapper around Ghostscript to shrink PDFs (as in reduce filesize) under Linux. Inspired by some code I found in an OpenOffice Python script (I think). The script feeds a PDF through Ghostscript, which performs lossy recompression by such methods as downsampling the images to 72dpi. The result should be (but not always is) a much smaller file.

Usage

Download the script and make it executable:

chmod +x shrinkpdf.sh

If you run it with no arguments, it prints a usage summary. If you run it with a single argument -- the name of the pdf to shrink -- it writes the result to stdout:

./shrinkpdf.sh in.pdf > out.pdf

You can provide an output file with the -o option:

./shrinkpdf.sh -o out.pdf in.pdf

And an output resolution in DPI (default is 72 DPI) with the -r option:

./shrinkpdf.sh -r 90 -o out.pdf in.pdf

Color-to-grayscale conversion can be enabled with the -g flag. This can sometimes further reduce the output size:

./shrinkpdf.sh -g -r 90 -o out.pdf in.pdf

Due to limitations of shell option handling, options must always come before the input file.

If both the input and the output are regular files, the script checks if the output is actually smaller. If not, it writes a message to stderr and copies the input over the output.

Sorry, Windows users; this one is Linux only. A Windows adaptation of this script can be found on this blog. It's a bit more user-friendly than my barebones version and also supports drag-and-drop.

License and acknowledgements

The script is licensed under the BSD 3-clause license.

I didn't invent the wheel, just packaged it nicely. All credits go to the Ghostscript team.

shrinkpdf's People

Contributors

aklomp avatar anasem avatar dan0nchik avatar he-ro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.