Compress PDF using PHP
Compress and reduce a PDF file size by up to 90%
Try it Free SDK libraryThe Compress PDF PHP SDK by ConvertAPI is a tool that allows for the compression and reduction of PDF file sizes by up to 90%. This PHP SDK 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 PHP SDK also provides options for optimizing the PDF for web viewing and preserving the PDF/A standard.
ConvertAPI provides a PHP library that allows you to perform a Compress PDF conversion with just a few lines of code. Compress PDF documents using PHP programming language with no effort at all!
composer require convertapi/convertapi-php
Or install it manually using ConvertApi autoloader:
require_once('/path/to/convertapi-php/lib/ConvertApi/autoload.php');
You can Compress PDF in a few simple steps:
Once you have your authentication in place, simply copy-paste this pdf to compress conversion code snippet into your PHP project:
You can try out advanced conversion parameters and test the conversion result online using our interactive demo tool. This tool will produce the same conversion output as if you were using the library from your solution, and it will auto-generate the code snippet for you!
Try for FREE!PDF Compression became more important than ever in this digital document processing age. More and more digital documents are produced everyday which results in a bulky and space consuming PDF storage. ConvertAPI's PDF Compression tool allows you to shrink the PDF's size using PHP programming language up to 90% of the original without losing the visual quality of the document. In this article, we will explain how to use PHP programming language to compress your PDF documents for sharing or long-term storage.
ConvertAPI provides a large suite of PDF tools using a single library for PHP. Using this library you can convert, rotate, merge, split, watermark and encrypt/decrypt your PDFs easily. The compression feature allows you to customize the compression levels by compressing and re-encoding images, removing duplicate objects, restructuring the PDF, subsetting fonts and applying other techniques that we will discuss later in this article. In addition to that, you can safely compress the PDF/A-standardized documents without worrying about losing the PDF/A standard. You can also compress password-protected documents. Without further ado, let's jump straight into some code examples!
You can install the ConvertAPI library manually or using the composer (preferred method). If you have the Composer installed, simply use this command:
composer require convertapi/convertapi-php
Alternatively, if you wish to install it manually, you must require the ConvertAPI autoloader:
require_once('/path/to/convertapi-php/src/ConvertApi/autoload.php');
Please note that the library uses curl
and json
dependencies. Using Composer it will be handled automatically.
If installing manually, please make sure that these extensions are installed.
You need to get the API Secret key to start using the library. In order to do so, please sign up for a free account. Once signed up, you will find the API Secret Key in your account dashboard.
Once you have your library installed, let's get to the fun part. To compress a PDF file using PHP you don't need to code anything. Simply visit our interactive demo tool and set up the compression parameters using our friendly UI.
Once you are happy with the compression result on our website, you will find an auto generated code snippet at the bottom! Your PDF compression in PHP programming language will look something like this:
ConvertApi::setApiSecret('your-api-secret'); $result = ConvertApi::convert('compress', [ 'File' => '/path/to/my_file.pdf', 'ColorImageCompression' => 'jpx', 'ColorImageQuality' => '70', 'RemoveBookmarks' => 'true', 'RemoveAnnotations' => 'true', 'RemoveForms' => 'true', 'RemovePageLabels' => 'true', 'RemoveLayers' => 'true', 'RemoveArticleThreads' => 'true', 'UnembedBaseFonts' => 'true', 'SubsetEmbeddedFonts' => 'true', ], 'pdf' ); $result->saveFiles('/path/to/result/dir');
Using ConvertAPI you can compress your PDFs by passing a path to local file, the URL of a hosted file, or a file stream. Lets see some examples of these different approaches.
The simplest and most straightforward way to pass a file to our converter is by specifying a path to your local file. It would look something like this:
ConvertApi::setApiSecret('your-api-secret'); $result = ConvertApi::convert('compress', [ 'File' => '/path/to/my_file.pdf', ], 'pdf' ); $result->saveFiles('/path/to/result/dir');
Another useful feature is converting a remote file hosted on a server accessible via URL. An important thing to notice here
is that the file must be publicly available and have appropriate headers set in the response: Content-Type: application/pdf
.
An example of a code snippet would look like this:
ConvertApi::setApiSecret('your-api-secret'); $result = ConvertApi::convert('compress', [ 'File' => 'https://cdn.convertapi.com/cara/testfiles/document-large.pdf', ], 'pdf' ); $result->saveFiles('/path/to/result/dir');
Converting a file stream provides the best performance benefits. In order to convert a file stream, please use the following example:
$upload = new \ConvertApi\FileUpload($stream, 'test.txt'); $result = ConvertApi::convert('pdf', ['File' => $upload]); $savedFiles = $result->saveFiles('/path/to/result/dir');
The number of digital documents has grown over the years. It is important to compress these documents properly for sharing and long-term storage. You can compress PDF documents using PHP programming language with no effort at all! Simply follow the steps described in this article and check out our code examples in the ConvertAPI PHP library on GitHub. If you still have questions, do not hesitate to contact our friendly customer support!
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.
Values: none text archive web ebook printer
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.
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