Como compactar arquivos PDF em Java | IronPDF

Como compactar arquivos PDF em Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

O IronPDF permite que desenvolvedores Java comprimam arquivos PDF reduzindo a qualidade da imagem e ajustando a resolução, o que ajuda a diminuir o tamanho dos arquivos para facilitar o compartilhamento e o armazenamento.

Início Rápido: Comprimir um Arquivo PDF em Java

```java {title="Comprimir PDF em Java"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java import IronPDF.*; importação java.nio.file.Paths;

// Carregue seu documento PDF PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf"));

// Comprimir imagens para 60% de qualidade pdf.compressImages(60);

// Salvar o PDF compactado pdf.saveAs(Paths.get("compressed.pdf"));


<div class="hsg-featured-snippet">
<h3>Fluxo de trabalho mínimo (5 etapas)</h3>

1. Adicione o IronPDF ao seu Maven `pom.xml` como uma dependência
2. Carregue seu PDF usando `PdfDocument.fromFile()`
3. Comprima as imagens com `pdf.compressImages(60)`
4. Opcionalmente, ajuste a resolução da imagem com `pdf.compressImages(90, true)`
5. Salve o PDF compactado usando `pdf.saveAs()`
</div>

Documentos em PDF são amplamente usados para compartilhar e armazenar informações, mas arquivos carregados de imagens podem atingir dezenas de megabytes muito rapidamente. Tamanhos de arquivo grandes complicam a entrega por e-mail, retardam uploads e aumentam os custos de armazenamento. A API de compressão Java do IronPDF aborda isso permitindo que você reduza a qualidade das imagens incorporadas e ajuste a resolução com algumas linhas de código.

Este artigo aborda como comprimir arquivos PDF em Java usando o IronPDF. Os exemplos mostram tanto a compressão simples baseada na qualidade quanto a escalar a resolução, para que você possa adaptar a abordagem aos seus requisitos específicos de tamanho e qualidade. Se você também estiver trabalhando com [PDFs pesados em imagens](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) ou precisa lidar com [documentos mesclados](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), a compressão é um passo essencial antes da distribuição.

## O Que É a Biblioteca PDF Java IronPDF?

IronPDF é uma [biblioteca PDF Java](/java/) que cria, lê e manipula documentos PDF programaticamente. A biblioteca lida com [conversão de HTML para PDF](https://ironpdf.com/java/tutorials/html-to-pdf/), preenchimento de formulários, incorporação de imagens e compressão de arquivos sem exigir um visualizador de PDF ou mecanismo de renderização externo. Ela suporta vários ambientes de implantação, incluindo [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/) e [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

A compactação no IronPDF funciona pela remostura de imagens incorporadas para um nível de qualidade inferior de JPEG e, opcionalmente, reduzindo a sua resolução para corresponder ao tamanho de exibição no PDF. Texto, gráficos vetoriais e estrutura do documento não são afetados. Isso torna o IronPDF uma escolha prática para documentos grandes que precisam ser transferidos rapidamente por e-mail ou armazenados em sistemas baseados em nuvem.

A biblioteca também funciona bem juntamente com outras operações de documentos: você pode compactar um PDF que já tenha [marcas d'água](https://ironpdf.com/java/how-to/custom-watermark/), [camadas de fundo](https://ironpdf.com/java/how-to/background-foreground/) e [marcadores](https://ironpdf.com/java/how-to/bookmarks/), e todos esses recursos são preservados após a compactação.

ObserveA compressão é mais eficaz em PDFs que contêm imagens JPEG ou PNG incorporadas. Documentos compostos principalmente de texto e gráficos vetoriais terão uma redução mínima de tamanho.
## Como Configuro o IronPDF em um Projeto Java Maven? Antes de compactar PDFs, adicione o IronPDF à configuração Maven do seu projeto. Para instruções completas de configuração, veja o [Visão Geral de Introdução](https://ironpdf.com/java/docs/). - Para instalar o IronPDF em um [projeto Maven](/java/docs/) , adicione o repositório Maven `IronPDF` e a dependência ao seu arquivo `pom.xml`. - Adicione a dependência à seção `<dependencies>`: ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • Salve seu pom.xml e execute mvn install para baixar a dependência IronPDF.

Assim que a dependência for resolvida, você poderá importar e usar as classes IronPDF em seu projeto. A versão publicada mais recente do artefato Java IronPDF está disponível no Maven Central . Para implantação em produção, configure sua chave de licença antes de executar.

Como Comprimir um Arquivo PDF em Java?

IronPDF comprime arquivos PDF visando as imagens incorporadas dentro do documento. O método compressImages() aceita um valor inteiro de qualidade entre 0 e 100, onde valores mais baixos produzem arquivos menores, à custa da nitidez da imagem. Um segundo parâmetro opcional instrui a biblioteca a reduzir a resolução da imagem com base no tamanho de exibição na página PDF.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import IronPDF.*;
import java.io.IOException;
importação java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import IronPDF.*;
import java.io.IOException;
importação java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

O código carrega um PDF do disco e aplica compressão em duas passadas para ilustrar diferentes estratégias. A primeira chamada compressImages(60) reduz a qualidade da imagem para 60% e salva o resultado. A segunda chamada usa 90% de qualidade, mas habilita o escalonamento de resolução, ajustando as dimensões dos pixels de cada imagem para corresponder à sua área visível na página.

O método compressImages() possui duas assinaturas:

  • compressImages(int quality) — Redimensiona todas as imagens incorporadas para o nível de qualidade JPEG especificado. Use um valor entre 40 e 80 para uma forte redução de tamanho enquanto mantém as imagens reconhecíveis.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — Adiciona dimensionamento de resolução. Quando true, a biblioteca detecta imagens que são renderizadas a uma fração de sua resolução nativa e as redimensiona de acordo. Esta opção oferece a mais agressiva redução de tamanho, mas aumenta ligeiramente o tempo de processamento.

PontasAplique múltiplas passadas para ajustar o equilíbrio de tamanho e qualidade. Comece com uma configuração moderada como 70%, verifique o tamanho do arquivo de saída e decida se uma segunda passada com menor qualidade é justificada.

Executar uma passagem de compressão de 60% em um PDF com muitas imagens normalmente reduz o tamanho do arquivo em 50-70% dependendo das imagens de origem. Um documento com conteúdo principalmente de texto terá ganhos muito menores. Compare os tamanhos dos arquivos antes e depois no diretório de saída para avaliar o resultado para seus documentos específicos.

Para documentos que precisam de outros processamentos além da compressão, o IronPDF suporta extração de texto , extração de imagens e divisão de PDFs .

Qual é a aparência do PDF original?

Explorador de Arquivos mostrando o arquivo PDF original com 458 KB antes da compressão usando o IronPDF

Quais são os resultados após a compressão?

Explorador de Arquivos mostrando o arquivo PDF compactado com tamanho visivelmente reduzido após a compressão de imagens com IronPDF a 60% de qualidade

Como Escolher a Configuração Correta de Qualidade de Compressão?

Escolher o nível de qualidade correto requer equilibrar o tamanho do arquivo contra a fidelidade visual. A configuração adequada depende do propósito do documento e da sensibilidade das suas imagens incorporadas.

A tabela abaixo oferece diretrizes práticas para casos de uso comuns:

Guia de Nível de Qualidade da Compressão de Imagens do IronPDF
Nível de Qualidade Redução de Tamanho Aproximada Ideal para
80–100% 10–30% Documentos de qualidade para impressão, registros médicos, arquivamentos legais
60–79% 40–60% Relatórios internos, PDFs para download na web, anexos de e-mail
40–59% 60–75% Pré-visualizações em miniatura, documentos de rascunho, cópias de arquivo
Abaixo de 40% 75%+ Saída fortemente degradada; geralmente não recomendada para distribuição

A escala de resolução funciona melhor quando o PDF de origem foi criado a partir de fotografias de alta resolução ou páginas escaneadas, mas o documento é destinado apenas para visualização em tela. Nesses casos, escalar a resolução pode reduzir o tamanho do arquivo sem uma mudança perceptível na qualidade em níveis de zoom normais. Para mais informações sobre padrões de codificação de imagem em PDF, consulte a documentação do formato JPEG 2000 na Biblioteca do Congresso e a discussão sobre compressão de imagem em PDF no Stack Overflow.

ImportanteEvite comprimir PDFs que contenham assinaturas digitais. Modificar imagens incorporadas altera o conteúdo binário do documento, o que invalidará assinaturas existentes.

Como Reduzir Ainda Mais o Tamanho do Arquivo PDF Além da Compressão de Imagens?

A compressão de imagens lida com o maior contribuinte para o tamanho do arquivo na maioria dos PDFs, mas técnicas adicionais podem reduzir ainda mais o tamanho quando combinadas. IronPDF suporta diversas abordagens que complementam compressImages():

Remova páginas desnecessárias. Deletar páginas antes de comprimir reduz tanto os dados de imagem quanto a sobrecarga de estrutura de página. Use os exemplos de exclusão de páginas para remover páginas em branco ou redundantes primeiro.

Remova anotações. Objetos de anotação adicionam dados binários ao arquivo. Removê-los com a API de gerenciamento de anotações antes de salvar pode reduzir consideravelmente o tamanho do arquivo em documentos com marcações intensas.

Processe documentos em lote. Para fluxos de trabalho que comprimem muitos PDFs, itere sobre uma lista de caminhos de arquivo e aplique compressImages() em um loop. IronPDF processa cada documento individualmente, portanto, o processamento em lote não requer configuração especial — consulte o exemplo de compressão de PDF para começar.

Para uma discussão mais ampla sobre estratégias de otimização de PDFs, a especificação do formato de arquivo PDF na Biblioteca do Congresso documenta os elementos estruturais que contribuem para o tamanho do arquivo e como eles podem ser reduzidos.

Quais São os Próximos Passos para Comprimir PDFs em Java?

O método IronPDF de compressImages() fornece uma maneira prática de reduzir o tamanho do arquivo PDF em aplicativos Java. Uma única chamada de método com um inteiro de qualidade cobre a maioria dos casos de uso, e o parâmetro de escala de resolução opcional lida com arquivos de origem com muitas imagens que precisam da redução mais agressiva.

Comece com um teste gratuito para testar a compressão em seus próprios documentos:

Pronto para ver o que mais o IronPDF pode fazer? Confira a biblioteca completa de tutoriais de PDF em Java aqui: Guias do IronPDF Java How-To

Perguntas frequentes

O que é compressão de PDF e por que ela é importante?

A compressão de PDF reduz o tamanho do arquivo via reamostragem de imagens incorporadas e, opcionalmente, ajustando sua resolução de exibição. Arquivos menores são mais fáceis de enviar por e-mail, fazer upload e armazenar — o método compressImages() da IronPDF lida com isso em aplicações Java com uma única chamada de método.

Como posso compactar rapidamente um arquivo PDF em Java?

Carregue seu PDF com PdfDocument.fromFile(), chame compressImages(60) para reduzir a qualidade da imagem para 60%, depois salve o resultado com saveAs(). Essas três linhas lidam com o fluxo de trabalho principal da compressão.

Qual nível de compressão devo usar para meus PDFs?

Um valor de 60-70% oferece um bom equilíbrio entre tamanho de arquivo e qualidade visual para a maioria dos documentos. Use 80-100% para qualidade de impressão ou registros legais, e 40-59% apenas para rascunhos ou visualizações em miniatura onde a fidelidade da imagem não é crítica.

Posso compactar PDFs que contenham vários documentos mesclados?

Sim, o IronPDF comprime qualquer PDF, independentemente de como foi montado. O método compressImages() visa todas as imagens incorporadas no documento, quer venham de uma única fonte ou de múltiplos arquivos mesclados.

A compressão afeta outros recursos do PDF, como marcas d'água ou formulários?

Não — a compressão do IronPDF visa apenas imagens raster incorporadas. Texto, gráficos vetoriais, marcas d'água, fundos, marcadores e campos de formulário são preservados no documento de saída.

Quais ambientes de implantação suportam compressão de PDF com IronPDF?

O IronPDF suporta compressão de PDF em AWS Lambda, Azure Functions, Google Cloud e implantações de servidor padrão. Nenhum mecanismo de renderização externo ou visualizador de PDF é necessário em qualquer um desses ambientes.

O que o parâmetro scaleImageResolutionToVisibleSize faz?

Quando definido como true, o IronPDF detecta imagens renderizadas com uma fração de sua resolução nativa e escala suas dimensões de pixel para coincidir com o tamanho de exibição visível. Isso reduz o tamanho do arquivo mais do que a redução de qualidade sozinha, mas aumenta ligeiramente o tempo de processamento.

Comprimir um PDF invalidará suas assinaturas digitais?

Sim. Modificar imagens incorporadas muda o conteúdo binário do documento, o que quebra assinaturas digitais existentes. Comprimir arquivos PDF antes de aplicar assinaturas, não depois.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas?
executar um exemplo Veja seu HTML se transformar em um PDF.