Comenzando con itext

Hola Mundo

Este es un programa muy simple para crear un PDF usando iText 7 / Java:

//Initialize writer
PdfWriter writer = new PdfWriter(dest);

//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);

//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));

//Close document
doc.close();

(Listado_01_01_HolaMundo.java)

Puede navegar a muchos otros ejemplos desde esa página.


Y este es un programa muy simple para crear un PDF usando el precursor iText 5.5.x/Java:

// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
document.add(new Paragraph("Hello World!"));
// step 5
document.close();

(HolaMundo.java)

También hay muchos más ejemplos para navegar desde esta página.


Estos dos ejemplos se ven bastante similares. Sin embargo, las ventajas de la API iText 7 rediseñada se harán evidentes tan pronto como uno comience a observar más de cerca ejemplos menos triviales. Por lo tanto, simplemente navegue a través del código fuente de ejemplo de los enlaces anteriores y compare.

Instalación o configuración

iTexto para Java

La mejor manera de instalar iText 7 es importar los archivos jar de iText desde Central Maven Repository. Estos videos simples explican cómo hacerlo usando diferentes IDE:

En estos tutoriales, solo definimos los proyectos kernel y layout como dependencias. Maven también importa automáticamente el jar io porque los paquetes kernel dependen de los paquetes io.

Esta es la lista básica de dependencias para el uso estándar de iText 7:

<dependencies>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>kernel</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>io</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>forms</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdfa</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdftest</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.18</version>
    </dependency>
</dependencies>

Cada dependencia se corresponde con un jar en Java y con una DLL en C#.

  • kernel y io: contienen funcionalidad de bajo nivel.
  • layout: contiene funcionalidad de alto nivel.
  • formularios: necesarios para todos los ejemplos de AcroForm.
  • pdfa: necesario para la funcionalidad específica de PDF/A.
  • pdftest: necesario para los ejemplos que también son una prueba.

Para un uso más específico de iText 7, es posible que necesite frascos adicionales:

  • barcodes: use esto si desea crear códigos de barras.
  • hyph: usa esto si quieres que el texto tenga guiones.
  • font-asian: use esto si necesita la funcionalidad CJK (chino/japonés/coreano)
  • sign: use esto si necesita soporte para firmas digitales.

Todos los frascos enumerados anteriormente están disponibles bajo la licencia AGPL. También puede descargar estos frascos en un archivo ZIP alojado en Github: https://github.com/itext/itext7/releases

Si desea utilizar estos frascos, debe agregarlos a su CLASSPATH, al igual que agregaría cualquier otro frasco.

La funcionalidad adicional de iText 7 está disponible a través de complementos, que se entregan como archivos jar bajo una licencia comercial. Si desea utilizar alguno de estos complementos, o si desea utilizar iText 7 con su código propietario, debe obtener una clave de licencia comercial para iText 7 (consulte la [sección legal del sitio web de iText] (http ://itextpdf.com/legal)).

Puede importar dicha clave de licencia utilizando el módulo de clave de licencia. Puede obtener el jar de clave de licencia de esta manera:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-licensekey</artifactId>
    <version>2.0.0</version>
    <scope>compile</scope>
</dependency>

Algunas funciones en iText son de código cerrado. Por ejemplo, si desea utilizar PdfCalligraph, necesita el módulo tipografía. Este módulo no funcionará sin una clave de licencia oficial.

iTexto para C#

Puede descargar un archivo ZIP que contiene todas las DLL que están disponibles bajo la AGPL. Para obtener más información sobre estas DLL, lea la documentación de Java.