Skip to main content

CLI + Python API for batch compressing PDFs with iLovePDF.com

Project description

PDF Compressor

Tests pre-commit.ci status PyPI Requires Python 3.8+ PyPI Downloads

Command line PDF compression powered by the free iLovePDF API.

Why? iLovePDF delivers the best PDF compression I've seen but their web UI doesn't support automation and can be cumbersome when dealing with many files.

Installation

pip install pdf-compressor

Usage

First, tell pdf-compressor your iLovePDF API key (if you haven't yet, get one by signing up at https://developer.ilovepdf.com/signup):

pdf-compressor --set-api-key project_public_7c854a9db0...

Then start compressing!

pdf-compressor **/*.pdf

Options

Flags Default Description
-i/--inplace False Whether to compress PDFs in place.
-s/--suffix '-compressed' String to append to the filename of compressed PDFs. Mutually exclusive with --inplace.
--cl/--compression-level 'recommended' How hard to squeeze the file size. One of 'low', 'recommended', 'extreme'. 'extreme' noticeably degrades quality of embedded bitmap images.
--set-api-key Set the public key needed to authenticate with the iLovePDF API. You only need to do this once to start using.
--report-quota Report the number of remaining file operations in the current billing cycle for the stored iLovePDF API key.
--debug False When true, iLovePDF won't process the request but only reports the parameters that would have been sent to the server.
--verbose False When true, progress will be reported while tasks are running.
-v/--version Get the version number of pdf-compressor.
--on-no-pdfs 'ignore' What to do when no input PDFs received. One of 'ignore' or 'error', former exits 0, latter raises ValueError. Can be useful when using pdf-compressor in shell scripts.
--on-bad-files 'error' How to behave when receiving input files that don't appear to be PDFs. One of 'error', 'warn', 'ignore'. Error type will be ValueError. Code used to check if something is PDF: filepath.lower().endswith(".pdf")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf-compressor-0.2.1.tar.gz (31.7 kB view details)

Uploaded Source

File details

Details for the file pdf-compressor-0.2.1.tar.gz.

File metadata

  • Download URL: pdf-compressor-0.2.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pdf-compressor-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6000b4773d3b54830b555dfab1b5936736de193829225f89d0caa3c5955145ee
MD5 a6513c685ddb71c7bf019756d2a4fce9
BLAKE2b-256 7b1c284ccd2294644359cfc7a200ece4eeacf4a1f38a7de8fdfa0236ddb84d1d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page