Como compactar arquivos PDF em Java
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.xmle executemvn installpara baixar a dependênciaIronPDF.
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"));
}
}
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. Quandotrue, 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.
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?
![]()
Quais são os resultados após a compressão?
![]()
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:
| 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.
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:
- Comece seu teste gratuito — não é necessário cartão de crédito
- Veja as opções de licenciamento — as licenças começam a partir de $999
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.


