Ir para o conteúdo do rodapé
COMPARAçãO DE PRODUTOS

Uma comparação entre IronPDF for Java e iTextPDF iText7 for Java

Hoje em dia, os desenvolvedores podem se beneficiar de soluções melhores graças à tecnologia em constante aprimoramento.

O futuro dos processos de desenvolvimento de software reside na automação. Há muito tempo que os arquivos PDF representam dificuldades para os desenvolvedores. Ao trabalhar com PDFs (ou seja, ao produzir conteúdo e converter conteúdo de outros formatos para PDF), há inúmeras considerações a serem feitas. Com o desenvolvimento de inúmeras bibliotecas destinadas a auxiliar na leitura, escrita, criação e até mesmo conversão de PDFs em diversos formatos, essas necessidades agora estão atendidas.

Este artigo comparará duas das bibliotecas PDF mais bem recebidas por desenvolvedores Java para edição, impressão e criação de arquivos PDF:

  • Biblioteca Java IronPDF : Uma biblioteca Java para PDF que se concentra na geração de PDFs a partir de HTML.
  • Biblioteca ITextPDF: Uma biblioteca de código aberto, desenvolvida principalmente em Java, que se concentra na geração de PDFs usando uma API programável.

Analisaremos as funcionalidades das duas bibliotecas antes de abordarmos o custo de desempenho na conversão e manipulação de PDFs, a fim de determinar qual biblioteca é a mais adequada para sua aplicação. Além disso, a duração de cada biblioteca será registrada para pesquisas futuras.

Instalando o IronPDF Java

Para instalar o IronPDF for Java , basta declará-lo como uma dependência. Para definir o IronPDF como uma dependência, adicione o seguinte ao seu pom.xml:

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>YOUR_VERSION_HERE</version>
</dependency>
XML

Observação: você pode baixar o arquivo .jar manualmente:

  1. Acesse o repositório Maven do IronPDF for Java para consultar a página do repositório Maven.
  2. Extraia o conteúdo do arquivo zip.
  3. Crie uma pasta e copie o conteúdo da pasta compactada.
  4. Abra o Eclipse IDE.
  5. Crie um novo projeto Java.
  6. Adicione os arquivos .jar do IronPDF ao classpath.
  7. Conclua o assistente de criação de projetos. É isso!

Funcionalidades do IronPDF

Os desenvolvedores podem produzir, ler e manipular PDFs rapidamente com a ajuda da robusta biblioteca IronPDF . O IronPDF utiliza o mecanismo do Chrome em sua essência e oferece uma variedade de recursos práticos e poderosos, incluindo a capacidade de converter arquivos HTML5, JavaScript, CSS e de imagem para PDF. O IronPDF também pode adicionar cabeçalhos e rodapés exclusivos e criar arquivos PDF exatamente como aparecem em um navegador da web. O IronPDF oferece suporte a diversos formatos web, incluindo HTML, ASPX, Razor View e MVC. Os principais atributos do IronPDF são os seguintes:

  • Crie, leia e edite PDFs facilmente com programas Java.
  • Crie PDFs a partir de qualquer link de URL de site que possua configurações de User-Agents, Proxies, Cookies, Cabeçalhos HTTP e Variáveis ​​de Formulário para suportar login usando formulários de login HTML.
  • Remover fotos de publicações em PDF já existentes.
  • Adicione texto, fotos, marcadores, marcas d'água e outros elementos a PDFs.
  • Mesclar e dividir as páginas de vários documentos PDF.
  • Converter arquivos de mídia, incluindo arquivos CSS, em documentos.

Instalando o ITextPDF Java

O iTextPDF está disponível gratuitamente no site do iTextPDF . Esta biblioteca é de código aberto sob o modelo de licenciamento de software AGPL.

Para adicionar a biblioteca iText ao seu aplicativo, inclua o seguinte repositório Maven no seu arquivo pom.xml.

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>
XML

Baixe diretamente os arquivos .jar do iTextPDF e o arquivo .jar do slf4j.jar. Para usar as bibliotecas, adicione os arquivos .jar do iTextPDF ao classpath do sistema.

Funcionalidades da Biblioteca iText

  • Criar PDFs a partir de HTML, XML e imagens (png, jpg, etc.).
  • Adicione marcadores, números de página e indicadores a documentos PDF.
  • Dividir um arquivo PDF em vários PDFs ou combinar vários PDFs em um único PDF.
  • Editar formulários PDF programaticamente.
  • Adicione texto, imagens e figuras geométricas a arquivos PDF.

Converter strings HTML em PDFs usando iTextPDF Java

Em iText for Java, HTMLConverter é a classe principal usada para converter HTML em PDF.

Existem três métodos principais em HTMLConverter:

  • convertToDocument, que retorna um objeto Document.
  • convertToElements, que retorna uma lista de objetos IElement.
  • convertToPdf lida com a conversão de conteúdo HTML para PDF. Este método aceita entrada HTML como um objeto String, um objeto File ou um objeto InputStream, e retorna um objeto File, um objeto OutputStream ou um objeto Document.
package com.hmkcode;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;

public class App {
    // HTML content to be converted to PDF
    public static final String HTML = "<h1>Hello</h1>"
            + "<p>This was created using iText</p>"
            + "<a href='http://hmkcode.com'>hmkcode.com</a>";

    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML content to PDF and save it
        HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
        System.out.println("PDF Created!");
    }
}
package com.hmkcode;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;

public class App {
    // HTML content to be converted to PDF
    public static final String HTML = "<h1>Hello</h1>"
            + "<p>This was created using iText</p>"
            + "<a href='http://hmkcode.com'>hmkcode.com</a>";

    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML content to PDF and save it
        HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
        System.out.println("PDF Created!");
    }
}
JAVA
Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 1

Converter strings HTML em PDFs usando IronPDF Java

A classe PdfDocument do IronPDF oferece vários métodos estáticos que permitem aos desenvolvedores Java produzir texto HTML a partir de diversas fontes. Um desses métodos é o método PdfDocument.renderHtmlAsPdf, que converte uma string de marcação HTML em um documento PDF.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Set the license and log path
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert the HTML content to a PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");

        // Save the generated PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Set the license and log path
        License.setLicenseKey("YOUR-LICENSE-KEY");
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

        // Convert the HTML content to a PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");

        // Save the generated PDF
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

Converter arquivos HTML para PDF usando o iTextPDF em Java

O método convertToPdf pode ser usado para converter qualquer arquivo HTML em PDF.

Imagens e arquivos CSS podem ser incluídos no arquivo HTML. No entanto, eles devem estar no mesmo local que o arquivo HTML. Podemos usar a classe ConverterProperties para definir o caminho base para CSS e imagens referenciadas. Isso é útil quando os arquivos HTML estão localizados em diretórios diferentes.

Considere um arquivo index.html contendo a seguinte marcação.

<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
<html>
<head>
    <title>HTML to PDF</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h1>HTML to PDF</h1>
    <p>
        <span class="itext">itext</span> 7.1.9 
        <span class="description"> converting HTML to PDF</span>
    </p>
    <table>
        <tr>
            <th class="label">Title</th>
            <td>iText - Java HTML to PDF</td>
        </tr>
        <tr>
            <th>URL</th>
            <td>http://hmkcode.com/itext-html-to-pdf-using-java</td>
        </tr>
    </table>
</body>
</html>
HTML

O código-fonte abaixo converte o arquivo index.html em um PDF:

package com.hmkcode;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;

public class App {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML file to PDF and save it
        HtmlConverter.convertToPdf(new FileInputStream("index.html"), 
                new FileOutputStream("index-to-pdf.pdf"));

        System.out.println("PDF Created!");
    }
}
package com.hmkcode;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;

public class App {
    public static void main(String[] args) throws FileNotFoundException, IOException {
        // Convert the HTML file to PDF and save it
        HtmlConverter.convertToPdf(new FileInputStream("index.html"), 
                new FileOutputStream("index-to-pdf.pdf"));

        System.out.println("PDF Created!");
    }
}
JAVA
Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 2

Converter arquivos HTML para PDF usando o IronPDF for Java

O método PdfDocument.renderHtmlFileAsPdf do IronPDF converte arquivos HTML localizados em um computador ou em um caminho de arquivo de rede.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Convert the HTML file to PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;

public class IronPdfExample {

    public static void main(String[] args) {
        // Convert the HTML file to PDF and save it
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
    }
}
JAVA

Adicione imagens a arquivos PDF usando o IronPDF Java.

Você pode usar o método PdfDocument.fromImage do IronPDF para renderizar um grupo de imagens em um único arquivo PDF. O exemplo a seguir usa esse método em uma pequena lista de imagens localizadas em diferentes caminhos do sistema de arquivos.

import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class IronPdfExample {

    public static void main(String[] args) {
        // Create an ArrayList containing the list of images that you want to combine
        // into ONE PDF document
        Path imageA = Paths.get("directoryA/1.png");
        Path imageB = Paths.get("directoryB/2.png");
        Path imageC = Paths.get("3.png");
        List<Path> imageFiles = new ArrayList<>();
        imageFiles.add(imageA);
        imageFiles.add(imageB);
        imageFiles.add(imageC);

        // Convert the three images into a PDF and save them.
        PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class IronPdfExample {

    public static void main(String[] args) {
        // Create an ArrayList containing the list of images that you want to combine
        // into ONE PDF document
        Path imageA = Paths.get("directoryA/1.png");
        Path imageB = Paths.get("directoryB/2.png");
        Path imageC = Paths.get("3.png");
        List<Path> imageFiles = new ArrayList<>();
        imageFiles.add(imageA);
        imageFiles.add(imageB);
        imageFiles.add(imageC);

        // Convert the three images into a PDF and save them.
        PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
    }
}
JAVA

Adicionar imagens a PDFs usando ITextPDF Java

O exemplo de código completo abaixo usa o iText para converter duas imagens localizadas no diretório de trabalho atual em um único arquivo PDF.

import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;

public class InsertImagePDF {
    public static void main(String[] args) throws IOException {
        String currDir = System.getProperty("user.dir");

        // Getting path of current working directory to create the pdf file in the same directory
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating PdfWriter object to write the PDF file to the path
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfDocument object
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating ImageData from images on disk (from given paths) using ImageDataFactory
        ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Adding images to the document
        doc.add(imgA);
        doc.add(imgB);

        // Close the document
        doc.close();

        System.out.println("Image added successfully and PDF file created!");
    }
}
import java.io.*;
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;

public class InsertImagePDF {
    public static void main(String[] args) throws IOException {
        String currDir = System.getProperty("user.dir");

        // Getting path of current working directory to create the pdf file in the same directory
        String pdfPath = currDir + "/InsertImage.pdf";

        // Creating PdfWriter object to write the PDF file to the path
        PdfWriter writer = new PdfWriter(pdfPath);

        // Creating PdfDocument object
        PdfDocument pdfDoc = new PdfDocument(writer);

        // Creating a Document object
        Document doc = new Document(pdfDoc);

        // Creating ImageData from images on disk (from given paths) using ImageDataFactory
        ImageData imageDataA = ImageDataFactory.create(currDir + "/imageA.jpg");
        Image imgA = new Image(imageDataA);
        ImageData imageDataB = ImageDataFactory.create(currDir + "/imageB.jpg");
        Image imgB = new Image(imageDataB);

        // Adding images to the document
        doc.add(imgA);
        doc.add(imgB);

        // Close the document
        doc.close();

        System.out.println("Image added successfully and PDF file created!");
    }
}
JAVA
Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 3

Licenciamento

O iTextSharp é de código aberto e licenciado sob a AGLP.

Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 4

Isso garante que qualquer pessoa que utilize um aplicativo que incorpore o iTextSharp tenha direito a uma cópia completa do código-fonte do aplicativo, mesmo que o faça por meio de uma rede corporativa ou da internet.

Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 5

Se você pretende usar a licença para fins comerciais, entre em contato diretamente com a iText para discutir os preços.

Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 6

O IronPDF é gratuito para desenvolvimento e pode sempre ser licenciado para uso comercial. Detalhes da licença do IronPDF para uso em projetos individuais, desenvolvedores individuais, agências e corporações globais, bem como para redistribuição SaaS e OEM. Todas as licenças incluem garantia de reembolso de 30 dias, um ano de suporte e atualizações do produto, validade para desenvolvimento/teste/produção e também uma licença permanente (compra única).

O preço do pacote Lite começa em $799.

  • Os desenvolvedores podem usufruir do uso ilimitado da biblioteca para desenvolvimento. Em termos de licenciamento geral, as taxas são muito acessíveis.
  • Suporte ilimitado gratuito por um ano.
  • Períodos de teste gratuitos também estão disponíveis para fins de licenciamento.
  • Todas as licenças incluem uma garantia de reembolso de 30 dias.
  • As licenças são válidas para todos os ambientes (desenvolvimento, teste, produção, etc.).
  • As licenças incluem um ano de suporte incondicional.
  • As licenças do IronPDF exigem uma compra única.
Comparação entre IronPDF for Java e iTextPDF (iText7 for Java) - Figura 7

IronPDF vs iText

Existem diversas diferenças significativas entre o iText e o IronPDF.

A API do iText é estruturada em torno de um modelo programático. Nesse modelo, a manipulação das propriedades e do conteúdo do PDF é mais granular e de baixo nível. Embora isso dê ao programador mais controle e flexibilidade, também exige a escrita de mais código para implementar os casos de uso.

A API do IronPDF foi estruturada para otimizar a produtividade do desenvolvedor. O IronPDF simplifica a edição, manipulação, criação e outras tarefas complexas de PDFs, permitindo que os desenvolvedores as concluam com apenas algumas linhas de código.

Conclusão

Todos os clientes da Iron Software têm a opção de adquirir o pacote completo com apenas dois cliques. Atualmente, você pode adquirir todas as cinco bibliotecas do Iron Software Suite , juntamente com suporte contínuo para cada uma delas, pelo preço de apenas duas bibliotecas do pacote.

ObserveiTextPDF é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo iTextPDF. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Como posso converter HTML para PDF usando uma biblioteca Java?

Você pode usar o método renderHtmlAsPdf do IronPDF para converter strings HTML em documentos PDF. Você também pode converter arquivos HTML em PDFs usando o método ` renderHtmlFileAsPdf .

Quais são os passos para instalar a biblioteca Java PDF?

Para instalar o IronPDF for Java, você precisa declará-lo como uma dependência no seu arquivo pom.xml ou baixar manualmente o arquivo .jar do repositório Maven do IronPDF e incluí-lo no classpath do seu projeto.

Como o IronPDF for Java se compara ao iTextPDF?

O IronPDF se concentra em simplificar tarefas com menos linhas de código, usando um mecanismo do Chrome para conversões de HTML para PDF. O iTextPDF oferece um controle mais granular por meio de uma API programática, mas requer mais código para manipulação.

Posso adicionar imagens a um PDF usando uma biblioteca Java para PDF?

Sim, com o IronPDF, você pode usar o método PdfDocument.fromImage para renderizar imagens em um único arquivo PDF, fornecendo uma lista de caminhos de arquivos de imagem.

Quais opções de licenciamento a biblioteca Java PDF oferece?

A IronPDF oferece opções flexíveis de licenciamento, incluindo licenças para projeto único, desenvolvedor individual, agência e corporação, além de opções para redistribuição SaaS e OEM. Todas as licenças incluem garantia de reembolso de 30 dias e um ano de suporte.

É possível editar PDFs usando o IronPDF for Java?

Sim, o IronPDF permite editar, mesclar e manipular documentos PDF. Ele oferece ferramentas para adicionar cabeçalhos e rodapés, além de lidar com diversos formatos web, como HTML, ASPX e MVC.

Existem opções gratuitas disponíveis para bibliotecas Java PDF?

O iTextPDF é de código aberto sob a licença AGPL, que permite o uso gratuito, mas exige o compartilhamento do código-fonte do aplicativo que o utiliza. O IronPDF é gratuito para desenvolvimento, mas requer uma licença para uso comercial.

Qual a melhor maneira de converter arquivos HTML para PDF em Java?

O método ` renderHtmlFileAsPdf do IronPDF permite converter arquivos HTML de um caminho de arquivo local ou de rede em documentos PDF, oferecendo um processo simplificado para desenvolvedores.

Quais recursos o IronPDF oferece para geração de PDFs?

O IronPDF permite criar, ler e editar PDFs com recursos como HTML5, JavaScript, CSS e conversão de imagens para PDF, além de adicionar cabeçalhos/rodapés e muito mais. Ele prioriza a produtividade do desenvolvedor e a facilidade de uso.

O que é necessário para integrar o iTextPDF em um projeto Java?

Para incluir o iTextPDF em seu projeto Java, você precisa adicionar os detalhes do repositório Maven no seu arquivo pom.xml e baixar os arquivos .jar necessários para a integração.

Darrius Serrant
Engenheiro de Software Full Stack (WebOps)

Darrius Serrant é bacharel em Ciência da Computação pela Universidade de Miami e trabalha como Engenheiro de Marketing WebOps Full Stack na Iron Software. Atraído por programação desde jovem, ele via a computação como algo misterioso e acessível ao mesmo tempo, tornando-a o meio ...

Leia mais

A PHP Error was encountered

Severity: Warning

Message: sprintf(): Too few arguments

Filename: competitors/dialog_competitor_banner.php

Line Number: 111

Backtrace:

File: /var/www/ironpdf.com/application/views/products/competitors/dialog_competitor_banner.php
Line: 111
Function: sprintf

File: /var/www/ironpdf.com/application/views/products/blog/main_post.php
Line: 196
Function: view

File: /var/www/ironpdf.com/application/views/products/blog/blog_post.php
Line: 24
Function: include

File: /var/www/ironpdf.com/application/views/products/blog/index.php
Line: 83
Function: include

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Blog.php
Line: 77
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

iText Logo

Cansado de renovações caras e atualizações de produtos desatualizadas?

IronPDF Logo

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim