HTML JPG PDF XML DOCX
  Product Family
PDF

Compress PDF in Java Cloud API

API for working with optimizing PDF documents using Cloud Java SDK

Get Started

How to compress PDF via Java SDK

In order to compress PDFs via Cloud Java SDK , we’ll use Aspose.PDF Cloud Java SDK This Cloud SDK allows you to easily build cloud-based PDF creator, editor & compress apps in Java language for various cloud platforms. Open Repository package manager, search for Aspose.PDF Cloud and install. You may also use the following command from the Package Manager Console for install it using Maven.

Add Aspose Cloud repository to your application pom.xml

Add Aspose Cloud repository


    <repositories>
        <repository>
            <id>aspose-cloud</id>
            <name>Aspose Cloud Repository</name>
            <url>https://releases.aspose.cloud/java/repo/</url>
        </repository>
    </repositories>

To install the API client library to your local Maven repository, simply execute:

Installation from Github


    mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

Deploy Maven repository


    mvn clean deploy

Steps to compress PDF via Cloud Java

Aspose.PDF Cloud developers can easily load & compress PDF in just a few lines of code.

  1. Initialize the Aspose PDF API
  2. Upload the PDF Document to Cloud Storage
  3. Compress the PDF Document
  4. Download the Optimized PDF Document
  5. Execute the Optimization Process
 

Compress PDF using Java


    package com.aspose.asposecloudpdfusecases.compress;

    import java.io.File;
    import java.nio.file.Path;
    import java.nio.file.StandardCopyOption;
    import com.aspose.asposecloudpdf.api.PdfApi;
    import com.aspose.asposecloudpdf.model.AsposeResponse;
    import com.aspose.asposecloudpdf.model.OptimizeOptions;
    import com.aspose.asposecloudpdfusecases.AppHelper;

    public class CompressPdfDocument {
        public static void Compress() {
            
            String LOCAL_FOLDER = "C:\\Samples\\";
            String REMOTE_FOLDER = "Your_Temp_Pdf_Cloud";
            String PDF_DOCUMENT = "sample.pdf";
            String PDF_OUTPUT = "output_sample_compress.pdf";

            try{
                PdfApi pdfApi = new PdfApi(API_KEY, API_SECRET);

                // upload local PDF file to remote storage
                File file = new File(Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString());
                pdfApi.uploadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), file, null);
                System.out.println(String.format("File '%s' successfully uploaded!", Path.of(LOCAL_FOLDER, PDF_DOCUMENT).toString()));

                OptimizeOptions optimizeOptions = new OptimizeOptions();
                    optimizeOptions.setAllowReusePageContent(true);
                    optimizeOptions.setCompressImages( true );
                    optimizeOptions.setImageQuality( 100 );
                    optimizeOptions.setLinkDuplcateStreams( true );
                    optimizeOptions.setRemoveUnusedObjects( true );
                    optimizeOptions.setRemoveUnusedStreams( true );            
                    optimizeOptions.setUnembedFonts( true );


                AsposeResponse response = pdfApi.postOptimizeDocument(PDF_DOCUMENT, optimizeOptions, null, REMOTE_FOLDER);
                if (response.getCode() != 200)
                    System.err.println("Error: unexpected error when compressing document! '" + response.getStatus() + "'");
                else {
                    // download changed PDF file from remote folder...
                        File f = pdfApi.downloadFile(Path.of(REMOTE_FOLDER , PDF_DOCUMENT).toString(), null, null);
                        java.nio.file.Files.copy(Path.of(f.getPath()), Path.of(LOCAL_FOLDER, PDF_OUTPUT), StandardCopyOption.REPLACE_EXISTING);
                        System.out.println(String.format("File '%s' successfully dowloaded!", Path.of(LOCAL_FOLDER, PDF_OUTPUT).toString()));                
                        System.out.println("Successfully compressed documents ! '" + PDF_OUTPUT + "'");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
 

With our Java library you can

Compress PDF documents with Aspose.PDF Cloud Java SDK.

  • Add PDF document’s header & footer in text or image format.
  • Add tables & stamps (text or image) to PDF documents.
  • Append multiple PDF documents to an existing file.
  • Work with PDF attachments, annotations, & form fields.
  • Apply encryption or decryption to PDF documents & set a password.
  • Delete all stamps & tables from a page or entire PDF document.
  • Delete a specific stamp or table from the PDF document by its ID.
  • Replace single or multiple instances of text on a PDF page or from the entire document.
  • Extensive support for converting PDF documents to various other file formats.
  • Extract various elements of PDF files & make PDF documents optimized.
  • You can try out our free App to test the functionality.