HTML para PDF em Java
O IronPDF for Java converte conteúdo HTML em documentos PDF perfeitos em pixels usando o mesmo mecanismo de renderização encontrado em navegadores modernos. Aplicações Java podem gerar PDFs a partir de strings de HTML, arquivos HTML locais ou páginas web ao vivo, sem exigir qualquer software adicional de renderização ou ambiente GUI.
Este tutorial aborda todos os três métodos de conversão de HTML para PDF disponíveis no IronPDF for Java, além de instalação, licenciamento e opções de configuração. Desenvolvedores que já usam o IronPDF for .NET acharão a API Java familiar; o tutorial equivalente em .NET está disponível em HTML to PDF for .NET Tutorial.
Início rápido: Gere um PDF a partir de HTML
O exemplo a seguir cria um PDF de uma página a partir de uma string HTML e salva no disco. Após instalar a biblioteca via Maven (Etapa 1), este é todo o código necessário:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;
// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
!{--010011000100100101000010010100100100000101010010010110010101111101010011010101000100000101010010010101000101111101010001010010010010010010100000101001100010111110100001001001100010011110100001101001011--}
Índice
- Como faço para instalar o IronPDF em um projeto Java?
- Como Converto uma String HTML para PDF em Java?
- Como Carrego Recursos Locais em uma String HTML?
- Como Converto um URL para PDF em Java?
- Como Converto um Arquivo HTML para PDF em Java?
- Como Personalizo Configurações de Saída de PDF?
- Como Adiciono Cabeçalhos e Rodapés a um PDF?
- Como Defino Margens Personalizadas e Tamanho da Página?
- Como Adiciono uma Marca d'Água a um PDF?
- Como Extraio Texto de um PDF em Java?
- Como Extraio Imagens de um PDF em Java?
- Como Comprimir um Arquivo PDF?
- Como Imprimo um PDF Programaticamente?
- Próximos Passos
Como Instalo o IronPDF em um Projeto Java?
IronPDF for Java está disponível no repositório Maven Central. O método de instalação recomendado é o Maven, embora a instalação manual do JAR também seja suportada para projetos que não usam um sistema de build.
Instalar como uma Dependência do Maven
Adicione os seguintes artefatos à seção dependencies do arquivo pom.xml do seu projeto:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/maven-dependency.xml
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.5</version>
</dependency>
O primeiro artefato traz o IronPDF. The second is an SLF4J logging implementation. O IronPDF usa SLF4J para emitir mensagens de diagnóstico durante a renderização; you can substitute it with Logback or Log4j 2, or omit logging entirely.
Execute mvn install na raiz do projeto para baixar as dependências. Verifique a versão mais recente do IronPDF antes de fixar um número de versão, pois o changelog lista todos os lançamentos atuais e passados.
Instale o JAR Manualmente
Desenvolvedores que não usam o Maven podem baixar o JAR completo do IronPDF diretamente do Maven Central e adicioná-lo ao classpath do projeto. O JAR completo inclui todas as dependências transitivas.
Importar o Pacote IronPDF
Todas as classes de renderização e manipulação de PDF estão localizadas no pacote com.ironsoftware.ironpdf. Adicione esta instrução de importação a qualquer arquivo fonte Java que use o IronPDF:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
Defina a chave de licença.
Sem uma chave de licença, o IronPDF renderiza PDFs com uma marca d'água em mosaico em cada página. Para remover a marca d'água, passe uma chave de licença válida para License.setLicenseKey antes de chamar qualquer método de renderização:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;
// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
Coloque esta chamada na inicialização do aplicativo, antes que qualquer lógica de geração de PDF seja executada. Comece um teste gratuito para obter uma chave de teste, ou veja as opções de licenciamento para uso em produção.
Configurar o Caminho do Arquivo de Log
O IronPDF grava diagnósticos de renderização em um arquivo de log chamado IronPdfEngine.log no diretório de trabalho do aplicativo. Ligue para Settings.setLogPath para alterar o nome ou a localização do arquivo:
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;
// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
Settings.setLogPath antes de qualquer método de conversão ou manipulação de PDF. Chamadas feitas após a renderização ter iniciado não terão efeito.Como Converto uma String HTML para PDF em Java?
PdfDocument.renderHtmlAsPdf converte uma string HTML em um objeto PdfDocument, que pode então ser salvo em disco ou passado para outros métodos de processamento. Este método aceita qualquer HTML compatível com o padrão W3C, incluindo marcação de página completa com elementos <head> e <body>.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
O método retorna uma instância de PdfDocument. Chame saveAs para gravar o PDF no disco ou use getBinaryData para recuperar os bytes brutos do PDF para streaming ou armazenamento.
renderHtmlAsPdf processa todo o conteúdo HTML, CSS e JavaScript da mesma forma que um navegador compatível com os padrões. O PDF resultante reflete exatamente como a página pareceria quando visualizada no Chrome.
Para mais detalhes sobre este método, veja o exemplo de código de string HTML para PDF na página de exemplos IronPDF Java.
Como Carrego Recursos Locais em uma String HTML?
HTML frequentemente referencia recursos externos (folhas de estilo, imagens, scripts) por caminho relativo. renderHtmlAsPdf aceita um segundo argumento opcional que define o caminho base para resolver essas referências. O caminho base pode apontar para um diretório local ou para uma URL.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;
// HTML with references to local stylesheets and images
String html = "<html>"
+ "<head>"
+ "<title>Invoice</title>"
+ "<link rel='stylesheet' type='text/css' href='style.css'>"
+ "</head>"
+ "<body>"
+ "<div class='content'>"
+ "<h1>Invoice #1001</h1>"
+ "<img src='logo.png' alt='Company Logo'/>"
+ "</div>"
+ "</body>"
+ "</html>";
// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
O argumento de caminho base funciona com caminhos absolutos do sistema de arquivos e strings de URL. Isso torna o renderHtmlAsPdf adequado para gerar PDFs a partir de modelos armazenados em disco ou servidos por um servidor web.
C:\invoices\) devem ser convertidos em barras normais ou usar Paths.get() para compatibilidade entre plataformas.Como Converto um URL para PDF em Java?
PdfDocument.renderUrlAsPdf busca uma página da web ativa no URL especificado e a renderiza como um PDF. O método carrega a página completa, incluindo todo o CSS externo, JavaScript e imagens, antes de renderizar.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
renderUrlAsPdf aguarda a conclusão da execução do JavaScript antes de capturar a página renderizada, o que significa que o conteúdo gerado dinamicamente (como gráficos ou dados carregados via AJAX) aparecerá no PDF de saída.
Para a implementação equivalente em .NET ou opções adicionais de URL para PDF, veja o exemplo de código de conversão de um URL para PDF.
Como Converto um Arquivo HTML para PDF em Java?
PdfDocument.renderHtmlFileAsPdf lê um arquivo HTML local e o renderiza como um PDF. Todos os caminhos relativos referenciados no arquivo HTML (folhas de estilo, imagens, scripts) são resolvidos em relação ao diretório do arquivo HTML.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;
// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Essa abordagem funciona bem para geração de documentos com template: modelos de fatura, relatórios ou certificados armazenados como arquivos HTML ao lado de seus ativos de CSS e imagem associados. O IronPDF renderiza o arquivo com a mesma precisão que um navegador, preservando todas as regras de layout de CSS.
renderHtmlFileAsPdf são resolvidos a partir do diretório de trabalho da JVM, o que pode produzir resultados inesperados em ambientes de servidor.Como Personalizo Configurações de Saída de PDF?
A classe PdfRenderOptions controla o layout da página e o comportamento de renderização. Crie uma instância de PdfRenderOptions, configure as propriedades necessárias e passe-a para qualquer um dos métodos de renderização.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Customized PDF</h1>",
options
);
pdf.saveAs("customized.pdf");
A classe PdfRenderOptions fornece propriedades adicionais para controlar DPI, largura da janela de visualização, orientação do papel e valores de tempo limite. Veja o exemplo de código de configurações de geração de PDF para uma lista completa de opções disponíveis.
Como Adiciono Cabeçalhos e Rodapés a um PDF?
O IronPDF suporta cabeçalhos e rodapés baseados em texto e em HTML. Cabeçalhos de texto usam campos de mesclagem pré-definidos para valores comuns como números de página e títulos de documentos; Cabeçalhos HTML aceitam marcação HTML arbitrária para layouts totalmente personalizados.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");
// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);
// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");
pdf.addTextHeaders(header);
pdf.addTextFooters(footer);
pdf.saveAs("report_with_headers.pdf");
Os campos de mesclagem {page} e {total-pages} são substituídos no momento da renderização pelo número da página atual e pela contagem total de páginas. Para layouts mais avançados, como um rodapé com o logotipo da empresa, use HtmlHeaderFooter em vez de TextHeaderFooter.
Para detalhes completos sobre cabeçalhos e rodapés baseados em HTML, veja o exemplo de código de adicionar cabeçalhos e rodapés.
Como Defino Margens Personalizadas e Tamanho da Página?
O tamanho da página e as margens são configurados no objeto PdfRenderOptions antes da renderização do PDF. O IronPDF suporta tamanhos de papel padrão (A4, Carta, Legal) e dimensões totalmente personalizadas.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;
PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
Para uma lista completa de tamanhos de papel e unidades suportados, consulte o exemplo de código de tamanho de papel personalizado e o exemplo de margens personalizadas.
Como Adiciono uma Marca d'Água a um PDF?
PdfDocument.applyWatermark aplica uma marca d'água de texto ou imagem a todas as páginas do documento. Por padrão, a marca d'água é exibida em uma camada separada abaixo do conteúdo da página, ou acima dele quando o sinalizador isStampBehind está definido como false.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");
// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);
pdf.saveAs("draft_watermarked.pdf");
A abordagem HTML oferece controle preciso sobre o estilo da marca d'água, incluindo fonte, tamanho, cor e transparência. Para configurações avançadas de marca d'água, como padrões de mosaico repetidos ou selos baseados em imagens, consulte o guia de como aplicar marca d'água.
Como posso extrair texto de um PDF em Java?
PdfDocument.extractAllText lê o conteúdo de texto incorporado em um PDF e o retorna como um único String. Este método extrai texto selecionável de todas as páginas no documento.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));
// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
A extração de texto funciona em PDFs onde o texto é armazenado como glifos selecionáveis. Para PDFs que são digitalizações baseadas em imagem, considere combinar o IronPDF com uma biblioteca OCR para extrair texto das imagens renderizadas das páginas.
Consulte o exemplo de código de extração de texto de PDF para opções adicionais, incluindo extração de texto por página.
Como posso extrair imagens de um PDF em Java?
PdfDocument.extractAllImages retorna uma lista de objetos BufferedImage, um para cada imagem incorporada no PDF. As imagens retornadas podem ser salvas diretamente no disco ou passadas para a lógica de processamento de imagens a jusante.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
Para mais opções de extração, incluindo extração de imagens de páginas específicas, consulte o exemplo de código de extração de imagem de PDF.
Como posso comprimir um arquivo PDF?
PdfDocument.compressImages reduz o tamanho do arquivo PDF recodificando imagens incorporadas com uma qualidade inferior. O método aceita um valor de qualidade de 1 (qualidade mínima, menor arquivo) a 100 (qualidade máxima).
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;
// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));
// Compress images to 60% quality to reduce file size
pdf.compressImages(60);
pdf.saveAs("large_report_compressed.pdf");
A compressão de imagem é a maneira mais eficaz de reduzir o tamanho de PDFs que contêm fotografias ou gráficos de alta resolução. Para estratégias adicionais de redução do tamanho do arquivo, como a remoção de fontes embutidas, consulte o exemplo de código de compressão de PDF.
Como posso imprimir um PDF programaticamente?
PdfDocument.print envia um PDF para a impressora padrão do sistema usando a API de impressão padrão do Java. O método aceita um booleano que controla se deve ou não mostrar um diálogo de impressão.
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));
// Print silently to the default printer (no dialog shown)
pdf.print(false);
Passe true para o método print para exibir a caixa de diálogo de impressão do sistema, permitindo que os usuários selecionem uma impressora e configurem as definições de impressão antes do envio do trabalho.
Próximos passos
Este tutorial abordou os principais métodos de conversão de HTML para PDF no IronPDF for Java, juntamente com instalação, configuração e operações comuns de processamento de documentos.
Para avançar mais:
- Navegue pelo conjunto completo de exemplos de código de HTML para PDF em Java para cenários de renderização adicionais não abordados aqui.
- Leia a documentação do IronPDF for Java para entender o deployment, segurança de threads e configuração do servidor.
- Explore a referência completa da API do IronPDF em Java para assinaturas de métodos detalhadas e descrições de parâmetros.
Inicie um teste gratuito para gerar PDFs sem marcas d'água, ou veja as opções de licenciamento para encontrar o plano certo para o seu projeto.
Tutorial de Acesso Rápido
Baixe este tutorial como código-fonte Java.
O código-fonte completo de HTML para PDF em Java para este tutorial está disponível para download como um projeto IntelliJ compactado.
BaixarExplore este tutorial no GitHub
O código-fonte deste projeto está disponível no GitHub como um projeto IntelliJ IDEA. Ele pode ser importado para outros IDEs Java populares, incluindo Eclipse e NetBeans.
Java HTML para PDF no GitHubConsulte a Referência da API.
Explore a referência da API do IronPDF Java, cobrindo todos os namespaces, classes, métodos e enums disponíveis na biblioteca.
Consulte a Referência da API.Perguntas frequentes
Para que serve o IronPDF for Java?
O IronPDF for Java converte conteúdo HTML em documentos PDF dentro de aplicações Java. Ele suporta a conversão de strings, arquivos HTML locais e URLs de páginas da web ao vivo, e também fornece ferramentas para adicionar cabeçalhos e rodapés, marca d'água, extração de texto, extração de imagem e compressão de arquivos.
Como faço para instalar o IronPDF em um projeto Java?
Adicione duas dependências Maven ao seu pom.xml: com.ironsoftware:ironpdf e org.slf4j:slf4j-simple, depois execute mvn install. Alternativamente, baixe o fat JAR do Maven Central e adicione-o ao classpath do projeto.
Como converter uma string HTML para PDF em Java?
Chame PdfDocument.renderHtmlAsPdf(htmlString) com seu markup HTML. O método retorna um objeto PdfDocument. Chame pdf.saveAs("output.pdf") para gravá-lo no disco.
Como converter um URL para PDF em Java?
Chame PdfDocument.renderUrlAsPdf("https://example.com"). O IronPDF busca a página, espera que o JavaScript seja executado, depois renderiza a página totalmente carregada como PDF.
Como converter um arquivo HTML local para PDF em Java?
Chame PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html"). Use um caminho de arquivo absoluto. O IronPDF resolve referências CSS e de imagem relativas do diretório de arquivos HTML automaticamente.
O IronPDF for Java adiciona uma marca d'água aos PDFs gerados?
Sem uma chave de licença, o IronPDF adiciona uma marca d'água em mosaico a todos os PDFs gerados. Defina uma chave de licença válida com License.setLicenseKey("YOUR-KEY") antes de qualquer chamada de renderização para remover a marca d'água.
Qual versão do Java o IronPDF requer?
O IronPDF for Java requer Java 8 ou posterior. É compatível com Spring Boot, Java EE, Micronaut e outros frameworks baseados em JVM.
Como adicionar números de página a um PDF em Java com IronPDF?
Crie uma instância TextHeaderFooter e chame setRightText("{page} de {total-pages}"). Passe o objeto para pdf.addTextFooters(footer). Os campos de mesclagem são substituídos no momento da renderização por números de página reais.
O IronPDF for Java pode extrair texto de um PDF?
Sim. Carregue um PDF com PdfDocument.fromFile(Paths.get("file.pdf")), depois chame pdf.extractAllText() para recuperar todo o conteúdo de texto selecionável como uma String.
Como reduzir o tamanho do arquivo de um PDF em Java?
Chame pdf.compressImages(quality) onde quality é um inteiro de 1 a 100. Um valor de 60 oferece um bom equilíbrio entre tamanho de arquivo e fidelidade de imagem para a maioria dos PDFs.





