Compress PDF using Python
Compress and reduce a PDF file size by up to 90%
The Compress PDF Python library by ConvertAPI is a tool that allows for the compression and reduction of PDF file sizes by up to 90%. This Python library optimizes PDF quality by compressing text, graphics, images, subsetting fonts, and optimizing document structure. It offers various parameters for customization, including compression presets, color and grayscale image compression, and options to remove elements like bookmarks, annotations, forms, and embedded files from the PDF. The Python library also provides options for optimizing the PDF for web viewing and preserving the PDF/A standard.
Shrink your PDFs in just a few seconds without compromising quality.
Force image recompression to ensure even pre‑compressed images get smaller.
Maintain visual quality of the original file while dramatically reducing file size.
Compression keeps text, fonts, and vector graphics sharp.
Choose from predefined compression presets or set up your own settings.
File compression is encrypted and compliant with ISO, GDPR, and HIPAA.
Easy Compress PDF integration programmatically using our simple Python SDK
Install the ConvertAPI Python SDK using PyPi: pip install --upgrade convertapi.
Sign up for a free account and authenticate the library using your Secret key or API token.
Set up the conversion parameters, and copy the auto-generated code snippet in your account dashboard.
Fine-tune your automation with these powerful conversion options
Choose a compression level from the available presets. If a preset is selected, all other compression options will be ignored. These presets are optimized for various use cases, such as balancing file size and quality.
Available values: Not set - advanced properties used Text - 20 image DPI, lowest quality, highest compression Archive - 40 image DPI, low quality, high compression Web - 75 image DPI, medium quality, high compression Ebook - 150 image DPI, high quality, medium compression Printer - 300 image DPI, high quality, low compression
Set the maximum image resolution in DPI.
Set image quality in percentage.
Remove PDF forms from the PDF file.
Remove duplicate fonts and color profiles from the PDF file.
Remove piece information dictionaries like Adobe Illustrator or Photoshop private data.
Remove embedded/attachments files from the PDF file.
Remove all structure information from the PDF document.
Detach the XMP metadata embedded in the document from its catalog, clear all properties in all schemas, and remove metadata from marked content.
Remove references to resources such as fonts, images, patterns.
Specifies whether to remove the base fonts from the PDF file.
Output PDF should only contain font characters utilized in the original document, and any unused glyphs from all fonts in the document should be removed.
Optimize page content streams in the PDF file.
Linearize PDF file and optimize for fast Web View.
Preserve the PDF/A standard in the PDF file.
ConvertAPI provides a wide variety of converters suite. One of our popular converters is PDF Compression API. It can reduce a document's size by up to 99% while maintaining the same visual clarity. You can use Python programming language to compress PDF documents easily. We created an SDK library for Python to avoid any explicit HTTP calls - we handle it for you. In this tutorial, we will go through the steps needed to use Python for PDF compression.
Our PDF Compression API applies multiple techniques with configurable options to reduce the size of the PDF. These include PDF structure optimization, linearizing the document, and subsetting embedded fonts, so only the used characters are included in the PDF assets. It will also allow you to remove multiple objects from the final PDF, like alternative images, unused fonts, duplicate elements, annotations, bookmarks, etc. The PDF compressor can preserve the PDF/A format and handle the compression for password-protected documents using Python. It is achievable easier than it sounds using our ConvertAPI library for Python programming language.
Compressing PDF documents using Python is super simple. Follow these steps to reduce the document's size programatically:
The first thing you want to do is to install our Python library into your project. Here you have two options. You can install it using pip:
pip install --upgrade convertapi
Or you can use our library's source code from GitHub by using:
python setup.py install
Secondly, please sign up for a free account on the ConvertAPI website to retrieve your API secret key.
Once you have your library installed and found your API secret, using the Python library for PDF compression is super simple. You can set up all conversion parameters and test the compression result using our PDF Compression API interactive demo page.
As soon as you are happy with the conversion result, please find an auto-generated code snippet at the bottom of the page. All parameters in the code snippet are generated dynamically based on your choices, so there is no more coding involved - copy-paste the code snippet into your project, and you are good to go!
An extended example of a PDF compression in Python programming language might look something like this:
convertapi.api_secret = 'your-api-secret' convertapi.convert('compress', { 'File': '/path/to/large.pdf', 'ColorImageCompression': 'zip', 'ColorImageQuality': '70', 'ColorImageDownsample': 'true', 'ColorImageThresholdDpi': '150', 'ColorImageResampleDpi': '100', 'RemoveBookmarks': 'true', 'RemoveAnnotations': 'true', 'RemoveForms': 'true', 'RemovePageLabels': 'true', 'RemoveLayers': 'true', 'RemoveArticleThreads': 'true', 'RemoveNamedDestinations': 'true', 'RemoveEmbeddedFiles': 'false', 'RemovePieceInformation': 'false', 'UnembedBaseFonts': 'true', 'SubsetEmbeddedFonts': 'true', 'CreateObjectStreams': 'false', 'Linearize': 'true' }, from_format = 'pdf').save_files('/path/to/dir')
You can convert local files from your disc drive as well as remote files accessible by a public URL, or even pass a file stream to gain all performance benefits using the ConvertAPI library for Python.
To compress a local PDF file stored on your machine, specify the path to the file and the destination folder where you want to store your result like so:
convertapi.api_secret = 'your-api-secret' convertapi.convert('compress', { 'File': '/path/to/sample.pdf' }, from_format = 'pdf').save_files('/path/to/dir')
If you want to compress a remote file hosted on a server, please ensure it is publicly accessible by a URL. The URL's response must be a PDF file with the appropriate "application/pdf" content type set in the header.
convertapi.api_secret = 'your-api-secret' convertapi.convert('compress', { 'File': 'https://cdn.convertapi.com/cara/testfiles/document-large.pdf' }, from_format = 'pdf').save_files('/path/to/dir')
For large file processing, consider using file streams. It can increase performance significantly. Here is an example of how to pass a file stream to our converters:
import convertapi import io import tempfile convertapi.api_secret = 'your-api-secret' with io.FileIO("path\\to\\file", 'r') as file_stream: result = convertapi.convert('pdf', { 'File': file_stream }) saved_files = result.save_files(tempfile.gettempdir()) print("The PDF saved to %s" % saved_files)
You can find more examples of advanced file conversion techniques in our GitHub examples repo.
ConvertAPI makes your Python PDF compression easy. Simply install our library and use the auto-generated code snippets from our PDF Compression API page. You can set up a fully customizable PDF compression level and improve performance with significantly reduced PDF sizes. Check out our ConvertAPI Python library on GitHub, and feel free to contribute if you have an idea of how to make it even better!
Our user-friendly interactive demo enables you to easily set up and test the conversion from your account dashboard with just a few simple clicks.
Upload your PDF document that you wish to convert, and set up any additional conversion parameters using our intuitive and user-friendly interface. You can fine-tune and adjust the conversion parameters to suit your needs with no technical knowledge required.
Get Started for FreeWhen you have your conversion parameters set up, you can run the conversion and download the converted document to evaluate the Compress PDF conversion quality. You can further adjust the parameters if needed, until you are satisfied with the result.
Get Started for FreeOnce you are happy with the conversion result, you can copy the auto-generated code snippet to your project and use it to perform the conversion programmatically. This will save you time and effort, and you will be able to focus on your project development.
Get Started for FreeHighest rated File Conversion API on major B2B software listing platforms: Capterra, G2, and Trustpilot.
"ConvertAPI has been a game-changer for our document automation workflows. Their conversion accuracy and API reliability are unmatched in the industry for over 7 years."
"ConvertAPI is a reliable, cost-effective solution with a proven track record of stability. It has grown significantly in maturity, adopting enterprise-grade practices over the years."
"We've integrated ConvertAPI across our entire document processing platform. The performance is exceptional and the support team is always responsive. Highly recommended!"
We ensure that all document processing is handled securely in the cloud, adhering to industry-leading standards like ISO 27001, GDPR, and HIPAA. To enhance security even further, we can ensure that no files or data are stored on our servers and never leave your country.
Learn more about security