Como criar um PDF em Java usando o IronPDF

Como criar arquivos PDF em Java

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

Criar arquivos PDF em Java é um requisito comum para aplicativos de negócios: gerar faturas e relatórios sob demanda, produzir certificados, recibos e registros de auditoria. IronPDF for Java converte HTML para PDF usando um motor de renderização Chromium completo, o que significa que qualquer conteúdo HTML5, CSS3 e JavaScript é renderizado fielmente, sem perda de formatação.

Este guia cobre três métodos de criação de PDF: de uma string HTML, de um arquivo HTML local e de um URL ao vivo. Também cobre formatação de páginas, proteção por senha e integração com Spring Boot.

Início Rápido: Crie um PDF a Partir de HTML em Java

  1. Adicione o IronPDF ao seu pom.xml:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-dependency.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML
  1. Importe a biblioteca e crie um PDF:
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");

// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/quickstart.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Set your license key (remove watermarks in production)
License.setLicenseKey("Your-License-Key");

// Convert HTML string to PDF and save
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello, IronPDF!</h1>");
pdf.saveAs(Paths.get("output.pdf"));
JAVA

O Que É IronPDF for Java, e Por Que Usá-lo?

IronPDF for Java é uma biblioteca de geração e manipulação de PDFs construída sobre o motor de renderização Chromium. Como renderiza HTML exatamente como o Chrome faz, lida com layouts complexos, fontes personalizadas, animações CSS, conteúdo gerado por JavaScript e imagens incorporadas sem código de layout manual.

A biblioteca cobre todo o ciclo de vida do PDF em uma única dependência. Os desenvolvedores podem criar documentos do zero, converter conteúdo HTML existente, mesclar ou dividir arquivos, adicionar marcas d'água, criptografar com senhas, extrair texto e imagens e gerar formulários editáveis, todas através de uma API consistente. Para fluxos de trabalho pesados em HTML, IronPDF evita os cálculos manuais de layout de página exigidos por bibliotecas de PDF de baixo nível como Apache PDFBox.

Ao contrário do iText, que exige uma licença open-source AGPL para a maioria dos usos comerciais, o IronPDF é fornecido com licenciamento amigável para o comércio e não requer revisão complexa de conformidade de licença. IronPDF for Java é fornecido como um artefato Maven e roda em Windows, Linux e macOS. Integra-se com Spring Boot, Jakarta EE e aplicativos Java autônomos. A biblioteca também suporta implantações em servidor no AWS, Azure e Google Cloud.

ObserveIronPDF renderiza usando Chromium sob o capô. O mesmo HTML que parece correto no Chrome produz a mesma saída em seu PDF, sem surpresas de formatação de navegador para PDF.

Quais São os Pré-Requisitos para Usar o IronPDF em Java?

Qual Versão do Java e Ferramenta de Construção São Necessárias?

IronPDF for Java requer JDK 8 ou posterior. O mínimo recomendado é JDK 11 (LTS) para uso em produção. Download the JDK from the Oracle download page or use an OpenJDK distribution such as Eclipse Temurin.

Maven (3.6+) e Gradle (7.0+) são ambos suportados. Maven é a escolha mais comum para projetos Java empresariais.

Como Adiciono IronPDF a um Projeto Maven?

Abra o arquivo pom.xml do seu projeto e adicione a seguinte dependência dentro do bloco <dependencies>:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/maven-full.xml
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML

Após salvar, execute mvn install ou deixe que sua IDE resolva a dependência automaticamente. O Maven baixa o IronPDF do Maven Central, portanto, não é necessária configuração de repositório privado.

Como Adiciono IronPDF a um Projeto Gradle?

Adicione a seguinte linha ao bloco dependencies no seu arquivo build.gradle:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/gradle-dependency.gradle
implementation 'com.ironsoftware:ironpdf:2024.9.1'

Execute gradle build para obter a biblioteca. Check Maven Central for the latest published version.

Quais Importações e Configurações São Necessárias?

Adicione essas declarações de importação no topo do seu arquivo fonte Java:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/imports.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.render.PaperOrientation;
import com.ironsoftware.ironpdf.render.PaperSize;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import java.io.IOException;
import java.nio.file.Paths;
JAVA

Antes de gerar qualquer PDF, defina sua chave de licença no método main ou na inicialização do aplicativo:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/license-setup.java
License.setLicenseKey("Your-License-Key");
JAVA

Nota: Sem uma chave de licença válida, os PDFs são gerados com uma marca d'água de teste. Compre uma licença ou inicie uma avaliação gratuita para removê-la. Consulte uso de chaves de licença em Java para opções adicionais de configuração.

Como Crio um PDF a Partir de uma String HTML em Java?

Passe qualquer string HTML diretamente para PdfDocument.renderHtmlAsPdf(). IronPDF retorna uma instância PdfDocument representando o documento finalizado na memória. Chame saveAs() para gravar em disco.

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-to-pdf.java
// HTML content with inline CSS
String htmlContent = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Render HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);

// Save to disk
pdf.saveAs(Paths.get("html.pdf"));
JAVA

renderHtmlAsPdf() suporta a especificação completa de HTML5 e CSS3, incluindo fontes da web, Flexbox, layouts em grade e execução de JavaScript . O exemplo a seguir usa um modelo HTML de várias linhas com estilos personalizados:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; margin: 40px; }
            h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
            .summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
        </style>
    </head>
    <body>
        <h1>Invoice #1042</h1>
        <div class="summary">
            <p>Amount due: $1,250.00</p>
            <p>Due date: 2024-06-01</p>
        </div>
    </body>
    </html>
    """;

PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-string-styled.java
// Multi-line HTML with CSS styling using a text block (Java 13+)
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; margin: 40px; }
            h1 { color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 8px; }
            .summary { background: #f3f4f6; padding: 16px; border-radius: 4px; }
        </style>
    </head>
    <body>
        <h1>Invoice #1042</h1>
        <div class="summary">
            <p>Amount due: $1,250.00</p>
            <p>Due date: 2024-06-01</p>
        </div>
    </body>
    </html>
    """;

PdfDocument invoice = PdfDocument.renderHtmlAsPdf(styledHtml);
invoice.saveAs(Paths.get("invoice.pdf"));
JAVA

O exemplo da fatura acima usa blocos de texto Java (disponíveis desde o Java 13) para HTML de várias linhas mais limpo. Para versões mais antigas do Java, concatene a string HTML manualmente ou carregue-a de um arquivo usando renderHtmlFileAsPdf(). Para uma visão mais ampla sobre conversão de HTML para PDF, incluindo renderização JavaScript, veja o tutorial de HTML para PDF for Java.

PontasAo passar strings HTML curtas, IronPDF envolve o conteúdo em um documento HTML mínimo automaticamente. Para controle total sobre tags head, meta charset e CSS reset, passe um documento completo <!DOCTYPE html>.

Como Crio um PDF a Partir de um Arquivo HTML Local em Java?

Use PdfDocument.renderHtmlFileAsPdf() para converter um arquivo HTML armazenado no sistema de arquivos local. Passe o caminho como uma string; caminhos relativos são resolvidos em relação ao diretório de trabalho atual:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");

// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/html-file-to-pdf.java
// Convert a local HTML file to PDF
PdfDocument filePdf = PdfDocument.renderHtmlFileAsPdf("invoice-template.html");

// Save the converted document
filePdf.saveAs(Paths.get("invoice_output.pdf"));
JAVA

IronPDF resolve todos os ativos referenciados (arquivos CSS externos, imagens locais e bibliotecas JavaScript) em relação ao diretório do arquivo HTML. Isso significa que você pode construir um modelo HTML completo com folhas de estilo vinculadas e executá-lo através do IronPDF sem modificar nenhum caminho de ativo.

O método aceita tanto um caminho String quanto um objeto java.nio.file.Path. Para uso em produção, prefira caminhos absolutos para evitar ambiguidades de diretório de trabalho. Consulte o exemplo de arquivo HTML para PDF para uma demonstração completa em funcionamento.

Como Crio um PDF a Partir de um URL de Página da Web em Java?

PdfDocument.renderUrlAsPdf() busca uma URL ativa, renderiza-a usando o Chromium e retorna um PDF. Isso é útil para capturar snapshots de painéis de controle, gerar recibos em PDF a partir de páginas de recibo hospedadas ou arquivar conteúdo web:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf.java
// Render a live web page to PDF
PdfDocument webPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
webPdf.saveAs(Paths.get("ironpdf-homepage.pdf"));
JAVA

Para páginas protegidas por autenticação HTTP, passe as credenciais através de ChromePdfRenderOptions:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/url-to-pdf-auth.java
// Configure render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Render authenticated page to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://your-internal-app.com/report", renderOptions);
securedPdf.saveAs(Paths.get("internal-report.pdf"));
JAVA

Consulte o exemplo de código de URL para PDF para detalhes. Para fluxos de login mais complexos usando cookies ou autenticação baseada em formulários, veja tratamento de login em sites.

Como Controlo Tamanho da Página, Orientação e Margens?

Use ChromePdfRenderOptions para personalizar o layout físico do PDF de saída. Passe as opções configuradas como o segundo argumento para qualquer método de renderização. As configurações mais comuns são orientação da página, tamanho do papel e margens:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);

// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);

// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/pdf-formatting.java
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set landscape orientation (default is portrait)
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Use US Letter paper size (default is A4)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set margins in millimeters (top, right, bottom, left)
renderOptions.setMarginTop(15);
renderOptions.setMarginRight(15);
renderOptions.setMarginBottom(15);
renderOptions.setMarginLeft(15);

// Include background colors and images
renderOptions.setPrintHtmlBackgrounds(true);

// Apply options when rendering
PdfDocument report = PdfDocument.renderHtmlAsPdf("<h1>Quarterly Report</h1>", renderOptions);
report.saveAs(Paths.get("report.pdf"));
JAVA

ChromePdfRenderOptions expõe mais de 30 configurações além das mostradas acima, incluindo DPI, tempo limite de execução do JavaScript , fator de Zoom e tipo de mídia CSS. Consulte as configurações de geração de PDF para obter uma lista completa. Para tamanhos de papel personalizados que não estejam na enumeração PaperSize, consulte tamanhos de papel PDF personalizados .

ImportanteSempre defina PaperSize antes de PaperOrientation. Definir a orientação primeiro pode ser sobrescrito quando PaperSize é aplicado em algumas compilações. A ordem recomendada é: tamanho, depois orientação, depois margens.

Como adicionar proteção por senha a um PDF em Java?

SecurityOptions controla as senhas de leitura e de proprietário, bem como os sinalizadores de permissão. Passe SecurityOptions para o SecurityManager do documento antes de salvar:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");

// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-basic.java
// Create security settings with a user-facing password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");

// Apply security to the document
PdfDocument urlPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
SecurityManager securityManager = urlPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected document
urlPdf.saveAs(Paths.get("protected.pdf"));
JAVA

Para controle mais rígido, defina uma senha de proprietário e restrinja operações específicas:

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();

// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");

// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");

// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/password-protect-advanced.java
SecurityOptions advancedSecurity = new SecurityOptions();

// User password: required to open the file
advancedSecurity.setUserPassword("user-open-pass");

// Owner password: required to change security settings
advancedSecurity.setOwnerPassword("owner-admin-pass");

// Restrict editing operations
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
JAVA

Ao abrir o PDF, o leitor solicita uma senha:

Password prompt dialog shown when opening an IronPDF-generated Java PDF with a user password set

Leitores de PDF exibem um aviso de senha quando o documento está protegido com uma senha de usuário.

Após digitar a senha correta, o PDF abre e exibe o conteúdo completo:

IronPDF Java PDF document open in a PDF viewer after the correct password is entered, displaying full document content

O documento é renderizado normalmente após a senha correta ser fornecida.

Consulte configurações de segurança e metadados para a lista completa de sinalizadores de permissão.

Como gerar PDFs em uma aplicação Spring Boot?

IronPDF se integra diretamente com Spring Boot. Retorne um PDF como resposta HTTP de array de bytes de qualquer método do controlador; esse padrão funciona para geração de relatórios sob demanda, downloads de faturas e exportações de dados.

//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;

@RestController
@RequestMapping("/api/pdf")
public class PdfController {

    @GetMapping("/invoice/{id}")
    public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
        // Build HTML dynamically using the invoice ID
        String html = """
            <html><body>
              <h1>Invoice #%s</h1>
              <p>Amount due: $500.00</p>
            </body></html>
            """.formatted(id);

        // Render and return as PDF download
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.getBinaryData();

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_PDF);
        headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");

        return ResponseEntity.ok().headers(headers).body(pdfBytes);
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/java-create-pdf-tutorial/spring-boot-controller.java
import com.ironsoftware.ironpdf.*;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;

@RestController
@RequestMapping("/api/pdf")
public class PdfController {

    @GetMapping("/invoice/{id}")
    public ResponseEntity<byte[]> generateInvoice(@PathVariable String id) throws IOException {
        // Build HTML dynamically using the invoice ID
        String html = """
            <html><body>
              <h1>Invoice #%s</h1>
              <p>Amount due: $500.00</p>
            </body></html>
            """.formatted(id);

        // Render and return as PDF download
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
        byte[] pdfBytes = pdf.getBinaryData();

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_PDF);
        headers.setContentDispositionFormData("attachment", "invoice-" + id + ".pdf");

        return ResponseEntity.ok().headers(headers).body(pdfBytes);
    }
}
JAVA

O método getBinaryData() retorna o PDF como um array de bytes, que o Spring Boot transmite diretamente para o cliente. Nenhum arquivo temporário é escrito no disco. Para implantações de alto rendimento, instancie License.setLicenseKey() em um método @PostConstruct ou ouvinte de inicialização do aplicativo em vez de por solicitação.

PontasDefina a chave de licença uma vez na inicialização da aplicação usando um método @PostConstruct ou ApplicationRunner. Chamar License.setLicenseKey() em cada requisição adiciona uma sobrecarga desnecessária.

Quais são os próximos passos para a criação de PDF em Java?

Este guia demonstrou quatro abordagens para geração de PDF em Java usando IronPDF: renderização de string HTML, conversão de arquivo local, captura de URL e transmissão de resposta HTTP do Spring Boot. Todos os métodos compartilham a mesma API PdfDocument, ChromePdfRenderOptions para controle de formatação e SecurityOptions para proteção de acesso.

IronPDF for Java também suporta adicionar e carimbar marcas d'água, mesclar múltiplos arquivos PDF, dividir PDFs em páginas individuais, adicionar assinaturas digitais, renderizar gráficos JavaScript para PDF, e imprimir PDFs programaticamente.

Comece um teste gratuito para gerar PDFs sem marcas d'água, ou veja as opções de licenciamento para escolher um plano que se encaixe no seu projeto. Pronto para se aprofundar? Confira a página do tutorial IronPDF for Java.

Perguntas frequentes

Como crio um PDF a partir de uma string HTML em Java?

Passe sua string HTML para PdfDocument.renderHtmlAsPdf(). O método retorna um objeto PdfDocument na memória. Chame pdf.saveAs(Paths.get("output.pdf")) para gravá-lo no disco. IronPDF suporta HTML5 completo, CSS3 e JavaScript.

Qual versão do Java o IronPDF requer?

IronPDF for Java requer JDK 8 ou superior. JDK 11 LTS é o mínimo recomendado para implantações de produção.

Como adiciono IronPDF a um projeto Maven?

Adicione o bloco de dependência com groupId com.ironsoftware e artifactId ironpdf dentro da seção do seu pom.xml, então execute mvn install.

Como crio um PDF a partir de um arquivo HTML local em Java?

Chame PdfDocument.renderHtmlFileAsPdf() com o caminho para o seu arquivo HTML. IronPDF resolve automaticamente todos os CSS, imagens e JavaScript vinculados em relação ao diretório do arquivo.

Posso criar um PDF a partir de uma URL em Java?

Sim. Chame PdfDocument.renderUrlAsPdf() com a URL de destino. IronPDF busca a página usando Chromium e retorna um PdfDocument. Para páginas atrás de autenticação HTTP, passe credenciais por meio de ChromePdfRenderOptions.

Como protejo um PDF com senha em Java com o IronPDF?

Crie um objeto SecurityOptions, chame setUserPassword() com sua senha, em seguida, passe as opções para urlPdf.getSecurity().setSecurityOptions() antes de chamar saveAs().

Como uso IronPDF em uma aplicação Spring Boot?

Injete sua lógica de geração de PDF em um método @RestController. Chame PdfDocument.renderHtmlAsPdf(), então use pdf.getBinaryData() para obter um array de bytes e retorná-lo como ResponseEntity com MediaType.APPLICATION_PDF.

Como defino o tamanho e a orientação da página no IronPDF for Java?

Crie um objeto ChromePdfRenderOptions, chame setPaperSize() e setPaperOrientation(), então passe como o segundo argumento para qualquer método de renderização. Defina o tamanho do papel antes da orientação para evitar conflitos de ordem.

O IronPDF funciona em Linux e macOS for Java?

Sim. IronPDF for Java funciona em Windows, Linux e macOS. Ele também suporta implantações em nuvem na AWS, Azure e Google Cloud sem exigir um visualizador de PDF externo ou mecanismo de renderização.

Os PDFs terão uma marca d'água sem uma chave de licença?

Sim. Sem uma chave de licença válida, o IronPDF adiciona uma marca d'água de teste a todos os documentos gerados. Chame License.setLicenseKey() com uma chave válida na inicialização do aplicativo para removê-la.

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.