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 é simples usando a biblioteca IronPDF , que converte HTML em PDF com métodos como renderHtmlAsPdf() para strings HTML, renderHtmlFileAsPdf() para arquivos HTML e renderUrlAsPdf() para páginas da web.

Início Rápido: Crie seu primeiro PDF em Java

  1. Adicione a dependência do IronPDF ao seu arquivo pom.xml:

    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
    </dependency>
    <dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
    </dependency>
    XML
  2. Importar classes do IronPDF :

    import com.ironsoftware.ironpdf.*;
    import com.ironsoftware.ironpdf.*;
    JAVA
  3. Criar PDF a partir de HTML: ```java :title=Início Rápido PdfDocument pdf = PdfDocument.renderHtmlAsPdf(""); pdf.saveAs(Paths.get("output.pdf"));

A criação programática de PDFs em Java permite a geração automatizada de documentos como faturas, relatórios e outros documentos comerciais sob demanda.

Este guia aborda o uso do IronPDF para criar arquivos PDF programaticamente em aplicações Java.

O que é a biblioteca Java IronPDF para PDF?

IronPDF é uma biblioteca Java para criar documentos PDF a partir de HTML. Oferece funções para criar e personalizar PDFs, incluindo:

  1. Adicionar texto, imagens e outros tipos de conteúdo
  2. Escolher fontes, cores e controlar o layout e a formatação.

O IronPDF é construído sobre o .NET Framework, permitindo seu uso tanto em aplicações .NET quanto em aplicações Java. A biblioteca oferece suporte a recursos avançados, como marcas d'água personalizadas , compressão de PDF e criação de formulários .

O IronPDF também lida com tarefas relacionadas a PDFs, incluindo conversão de formato de arquivo, extração de texto e dados e criptografia de senhas. Você pode mesclar vários PDFs ou dividi-los conforme necessário.

Como faço para criar documentos PDF em uma aplicação Java?

Quais são os pré-requisitos?

Para usar o IronPDF em um projeto Maven, certifique-se de que os seguintes pré-requisitos estejam instalados:

  1. Java Development Kit (JDK): Necessário para compilar e executar aplicações Java. Download from Oracle website.
  2. Maven: Necessário para baixar as bibliotecas do projeto. Faça o download no site do Apache Maven .
  3. Biblioteca IronPDF : Adicione ao projeto Maven como dependência no arquivo pom.xml:
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>1.0.0</version>
</dependency>
XML

Para projetos Gradle, adicione o IronPDF usando:

implementation 'com.ironsoftware:ironpdf:1.0.0'

Quais etapas devo seguir antes de escrever o código?

Primeiro, adicione esta declaração de importação ao seu arquivo de código-fonte Java:

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Para funcionalidades específicas, importe classes adicionais:

import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
import com.ironsoftware.ironpdf.render.ChromePdfRenderOptions;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import com.ironsoftware.ironpdf.security.SecurityManager;
JAVA

Em seguida, configure o IronPDF com uma chave de licença válida no método main:

License.setLicenseKey("Your license key");
License.setLicenseKey("Your license key");
JAVA

Nota : As chaves de licença removem as marcas d'água. Adquira uma chave de licença ou obtenha uma avaliação gratuita . Sem licença, os PDFs são gerados com marcas d'água. Consulte a seção "Usando chaves de licença" para obter detalhes.

Como faço para criar arquivos PDF a partir de uma string HTML em Java?

Use renderHtmlAsPdf() para converter strings HTML em PDFs. Este método suporta renderização em HTML5, CSS3 e JavaScript .

Passe uma string HTML para renderHtmlAsPdf. O IronPDF o converte em uma instância PdfDocument:

// HTML content to be converted to PDF
String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Convert HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);

// Save the PDF document to a file
pdf.saveAs(Paths.get("html.pdf"));
// HTML content to be converted to PDF
String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";

// Convert HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);

// Save the PDF document to a file
pdf.saveAs(Paths.get("html.pdf"));
JAVA

Isso cria um arquivo "html.pdf" contendo o conteúdo HTML.

Incluir HTML complexo com estilização CSS:

// HTML with CSS styling
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            h1 { color: #2563eb; }
            .content { margin: 20px; padding: 15px; background-color: #f3f4f6; }
        </style>
    </head>
    <body>
        <div class="content">
            <h1>Styled PDF Document</h1>
            <p>This PDF was created from HTML with custom CSS styling.</p>
        </div>
    </body>
    </html>
    """;

PdfDocument styledPdf = PdfDocument.renderHtmlAsPdf(styledHtml);
styledPdf.saveAs(Paths.get("styled.pdf"));
// HTML with CSS styling
String styledHtml = """
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            h1 { color: #2563eb; }
            .content { margin: 20px; padding: 15px; background-color: #f3f4f6; }
        </style>
    </head>
    <body>
        <div class="content">
            <h1>Styled PDF Document</h1>
            <p>This PDF was created from HTML with custom CSS styling.</p>
        </div>
    </body>
    </html>
    """;

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

Para conversões avançadas, consulte o tutorial de HTML para PDF .

Como faço para criar arquivos PDF a partir de páginas HTML em Java?

Criar PDFs a partir de arquivos HTML locais:

// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
JAVA

O método renderHtmlFileAsPdf aceita um caminho de arquivo como um objeto String ou Path.

O IronPDF renderiza elementos HTML com CSS e JavaScript exatamente como os navegadores fazem. Isso inclui arquivos CSS externos, imagens e bibliotecas JavaScript . Consulte a seção "Arquivos HTML para PDF" para obter mais detalhes.

Use saveAs para salvar o PDF em um local específico.

Como faço para criar arquivos PDF a partir de uma URL em Java?

Use renderUrlAsPdf() para criar PDFs a partir de páginas da web:

// Convert a URL to PDF
PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Convert a URL to PDF
PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
JAVA

Para sites autenticados, forneça as credenciais:

// Create render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Convert secured URL to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://secure-site.com", renderOptions);
securedPdf.saveAs(Paths.get("secured.pdf"));
// Create render options with login credentials
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();
renderOptions.setAuthUsername("username");
renderOptions.setAuthPassword("password");

// Convert secured URL to PDF
PdfDocument securedPdf = PdfDocument.renderUrlAsPdf("https://secure-site.com", renderOptions);
securedPdf.saveAs(Paths.get("secured.pdf"));
JAVA

Consulte o exemplo de código URL para PDF para obter detalhes. Para autenticação complexa, consulte Logins de Site e Sistema .

Como formatar arquivos PDF?

Use ChromePdfRenderOptions para especificar a formatação do PDF. Configure a orientação, o tamanho e as margens da página. Passe as opções como segundo argumento para os métodos de renderização:

// Create render options with custom settings
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set page orientation to landscape
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Set custom paper size (Letter size)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set custom margins (in millimeters)
renderOptions.setMarginTop(10);
renderOptions.setMarginRight(10);
renderOptions.setMarginBottom(10);
renderOptions.setMarginLeft(10);

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

// Apply options to PDF generation
PdfDocument formattedPdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted PDF</h1>", renderOptions);
formattedPdf.saveAs(Paths.get("formatted.pdf"));
// Create render options with custom settings
ChromePdfRenderOptions renderOptions = new ChromePdfRenderOptions();

// Set page orientation to landscape
renderOptions.setPaperOrientation(PaperOrientation.LANDSCAPE);

// Set custom paper size (Letter size)
renderOptions.setPaperSize(PaperSize.LETTER);

// Set custom margins (in millimeters)
renderOptions.setMarginTop(10);
renderOptions.setMarginRight(10);
renderOptions.setMarginBottom(10);
renderOptions.setMarginLeft(10);

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

// Apply options to PDF generation
PdfDocument formattedPdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted PDF</h1>", renderOptions);
formattedPdf.saveAs(Paths.get("formatted.pdf"));
JAVA

Consulte as Configurações de geração de PDF para obter mais opções. Explore tamanhos de papel e margens personalizadas .

Como faço para proteger arquivos PDF com senha?

Use SecurityOptions para proteger PDFs com senha:

// Create security options and set user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
// Create security options and set user password
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
JAVA

Defina opções de segurança avançadas:

// Advanced security settings
SecurityOptions advancedSecurity = new SecurityOptions();
advancedSecurity.setUserPassword("user123");
advancedSecurity.setOwnerPassword("owner456");

// Restrict permissions
advancedSecurity.setAllowPrint(false);
advancedSecurity.setAllowCopy(false);
advancedSecurity.setAllowEditContent(false);
advancedSecurity.setAllowEditAnnotations(false);
// Advanced security settings
SecurityOptions advancedSecurity = new SecurityOptions();
advancedSecurity.setUserPassword("user123");
advancedSecurity.setOwnerPassword("owner456");

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

Aplique a segurança através do código SecurityManager do PDF:

// Apply security options to the PDF
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected PDF document
urlToPdf.saveAs("protected.pdf");
// Apply security options to the PDF
SecurityManager securityManager = urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);

// Save the password-protected PDF document
urlToPdf.saveAs("protected.pdf");
JAVA

Abrir o PDF aciona uma solicitação de senha:

Password entry dialog for protected PDF with input field and Open file/Cancel buttons

Após inserir a senha correta, o PDF abre normalmente.

IronPDF .NET homepage showing HTML to PDF code examples and download options

Consulte o exemplo de segurança e metadados para obter configurações adicionais.

Qual é o código-fonte completo?

Código-fonte completo deste tutorial:

// Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;
import java.io.IOException;  
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("Your License Key");

        // Convert HTML string to a PDF and save it
        String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
        pdf.saveAs(Paths.get("html.pdf"));

        // Convert HTML file to a PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));

        // Convert URL to a PDF and save it
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the PDF file
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setUserPassword("shareable");
        SecurityManager securityManager = urlToPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);
        urlToPdf.saveAs(Paths.get("protected.pdf"));
    }
}
// Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;
import java.io.IOException;  
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Apply your license key
        License.setLicenseKey("Your License Key");

        // Convert HTML string to a PDF and save it
        String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
        pdf.saveAs(Paths.get("html.pdf"));

        // Convert HTML file to a PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));

        // Convert URL to a PDF and save it
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the PDF file
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setUserPassword("shareable");
        SecurityManager securityManager = urlToPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);
        urlToPdf.saveAs(Paths.get("protected.pdf"));
    }
}
JAVA

O IronPDF renderiza imagens e texto sem perda de formatação. Os botões continuam clicáveis ​​e as caixas de texto continuam editáveis. A biblioteca oferece suporte à adição de assinaturas , renderização de gráficos e impressão de PDFs .

Quais são os principais pontos a serem destacados?

Este guia demonstrou como criar PDFs em Java usando o IronPDF. O IronPDF fornece uma API simples para gerar PDFs a partir de arquivos HTML, documentos XML ou outras fontes.

Gere relatórios, faturas ou qualquer tipo de documento rapidamente. Implante na AWS , Azure ou Google Cloud .

O IronPDF requer uma licença comercial a partir de $799. Obtenha uma avaliação gratuita para testes de produção.

Baixe a biblioteca Java do IronPDF .

Perguntas frequentes

Qual é a maneira mais fácil de criar um arquivo PDF em Java?

A maneira mais fácil de criar um PDF em Java é usando o método `renderHtmlAsPdf()` do IronPDF. Basta passar uma string HTML para este método e salvar o resultado: `PdfDocument pdf = PdfDocument.renderHtmlAsPdf("Hello World!"); pdf.saveAs(Paths.get("output.pdf"));`

Como adiciono o IronPDF ao meu projeto Maven?

Adicione o IronPDF ao seu projeto Maven incluindo esta dependência no seu arquivo pom.xml: com.ironsoftware ironpdf 1.0.0

Posso converter arquivos HTML existentes para o formato PDF?

Sim, o IronPDF fornece o método renderHtmlFileAsPdf() especificamente para converter arquivos HTML em PDF. Esse método lê um arquivo HTML do seu sistema de arquivos e o converte em um documento PDF.

Como posso gerar PDFs a partir de páginas da web em Java?

O IronPDF oferece o método renderUrlAsPdf() para converter páginas da web diretamente em PDF. Basta fornecer a URL da página da web que você deseja converter e o IronPDF a renderizará como um documento PDF.

Que tipos de documentos comerciais posso criar programaticamente?

O IronPDF permite a geração automatizada de diversos documentos comerciais, incluindo faturas, relatórios, formulários e outros documentos sob demanda. A biblioteca oferece recursos avançados como marcas d'água personalizadas, compressão de PDF e criação de formulários.

É possível criar PDFs protegidos por senha?

Sim, o IronPDF suporta criptografia por senha para arquivos PDF. Você pode exportar PDFs protegidos por senha para o diretório desejado, garantindo a segurança de documentos com informações comerciais confidenciais.

Quais são os requisitos de sistema para usar o IronPDF em Java?

Para usar o IronPDF em Java, você precisa do Java Development Kit (JDK) para compilar e executar aplicativos, do Maven ou Gradle para gerenciamento de dependências e da biblioteca IronPDF adicionada como dependência ao seu projeto.

Posso manipular PDFs existentes, e não apenas criar novos?

Sim, o IronPDF realiza diversas tarefas de manipulação de PDFs além da criação. Você pode mesclar vários PDFs, dividi-los, extrair texto e dados e realizar conversões de formato de arquivo usando os recursos abrangentes da biblioteca.

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.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

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