/itext7-native-image

iText for Java represents the next level of SDKs for developers that want to take advantage of the benefits PDF can bring. Equipped with a better document engine, high and low-level programming capabilities and the ability to create, edit and enhance PDF documents, iText can be a boon to nearly every workflow.

Primary LanguageJavaOtherNOASSERTION

Logo iText

Maven Central AGPL License GitHub all releases GitHub commit activity (branch)

iText Core/Community is a high-performance, battle-tested library that allows you to create, adapt, inspect and maintain PDF documents, allowing you to add PDF functionality to your software projects with ease. It is also available for .NET (C#) .

The key features of iText Core/Community are:

  • Core library:
    • PDF creation with the use of our layout engine
    • PDF manipulation, e.g. merging multiple PDFs into one, adding new content, ...
    • PDF digital signing
    • PDF form creation and manipulation
    • Working with PDF/A documents
    • Working with PDF/UA documents
    • FIPS-compliant cryptography
    • Barcode generation
    • SVG support
  • Addons:
    • Converting XML/HTML & CSS to PDF repo, info
    • Redacting sensitive information in PDF documents repo, info
    • Support for international character sets (e.g. Arabic, Chinese, Hebrew, Thai, ...) info
    • Optimize PDF documents for reduced file size, and increased performance info
    • Flattening XFA documents info
    • PDF debugging repo, info

Want to discover what's possible? Head over to our Demo Lab! It contains a collection of demo applications ready to use online!

Getting started

The easiest way to get started is to use Maven, just add the following entries to your pom.xml file:

<properties>
  <itext.version>8.0.2</itext.version>
</properties>
<dependencies>
  <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-core</artifactId>
    <version>${itext.version}</version>
    <type>pom</type>
  </dependency>
  <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>bouncy-castle-adapter</artifactId>
    <version>${itext.version}</version>
  </dependency>
</dependencies>

For more advanced use cases, please refer to the Installation guidelines. You can also build iText Community from source.

Hello PDF!

The following example shows how easy it is to create a simple PDF document:

package com.itextpdf.hellopdf;

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;

import java.io.FileNotFoundException;

public class HelloPdfApp {

    public static void main(String[] args) throws FileNotFoundException {
      try (Document document = new Document(new PdfDocument(new PdfWriter("./hello-pdf.pdf")))) {
            document.add(new Paragraph("Hello PDF!"));
        }
    }
}

Examples

This is a small subset of examples to get you started. For more advanced examples, refer to our Knowledge Base or the following links: Examples repo, Signing examples.

Some of the output PDF files will be incorrectly displayed by the GitHub previewer, so be sure to download them to see the correct results.

Description Link
Basic layout
Change text properties Java, PDF
Creating a simple table Java, PDF
Add an image to a PDF document Java, PDF
Create a list Java, PDF
Add a watermark Java, PDF
Add links to navigate within a document Java, PDF
Create a popup annotation Java, PDF
Change font Java
Add form fields Java

General document settings
Change page size and margin Java, PDF
Write PDF to byte array instead of to disk Java
Change page rotation Java, PDF
Add header and footer Java, PDF
Merge documents Java, PDF
Flatten annotations Java

PDF/UA, PDF/A
Create PDF/UA document Java, PDF
Create PDF/A-3 document Java

FIPS
Enable FIPS Java
FIPS SHA3 example Java

Convert HTML and CSS to PDF Link to repo
Convert simple HTML doc to PDF Java

Secure redaction of content Link to repo
Redacting content Java
Redact based on regex Java

Support complex writing systems Link to docs
Add Arabic text Java , PDF

Optimizing PDFs Link to docs
Reduce size of PDF Java

XFA flattening Link to docs
Flatten an XFA document Java

RUPS Link to repo
Debug a PDF Java

FAQs, tutorials, etc.

Check out the iText Knowledge Base for the iText Jump-start tutorial and other tutorials, FAQs and more. For specific information and examples relating to digital signatures and iText, make sure to check the Digital Signatures Hub.

Many common questions have already been answered on Stack Overflow, so make sure to also check there.

Contributing

Many people have contributed to iText Core/Community over the years. If you've found a bug, a mistake in documentation, or have a hot new feature you want to implement, we welcome your contributions.

Small changes or fixes can be submitted as a Pull Request, while for major changes we request you contact us at community@apryse.com so we can better coordinate our efforts and prevent duplication of work.

Please read our Contribution Guidelines for details on code submissions, coding rules, and more.

Licensing

iText is dual licensed as AGPL/Commercial software.

AGPL is a free / open source software license.

This doesn't mean the software is gratis!

Buying a license is mandatory as soon as you develop commercial activities distributing the iText software inside your product or deploying it on a network without disclosing the source code of your own applications under the AGPL license. These activities include:

  • offering paid services to customers as an ASP
  • serving PDFs on the fly in the cloud or in a web application
  • shipping iText with a closed source product

Contact sales for more info.