GitPedia

Itext java

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.

From itext·Updated June 17, 2026·View on GitHub·

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][itextdotnet] (C#). The project is written primarily in Java, distributed under the Other license, first published in 2016. It has gained significant community traction with 2,250 stars and 476 forks on GitHub. Key topics include: accessibility, acroform, archiving, ccpa, digital-signature.

Latest release: 9.6.0iText Core/Community 9.6.0
April 1, 2026View Changelog →
<p align="center"> <img src="./assets/iText_Logo_Small.png" alt="Logo iText"> </p>

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
    • Perform OCR on images and PDF documents 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:

html
<properties> <itext.version>REPLACE_WITH_DESIRED_ITEXT_VERSION</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:

java
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!")); } } }

GraalVM compatibility

Starting from version 8.0.3 iText Core supports native image compilation using GraalVM. See building for details.

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.

DescriptionLink
Basic layout
Change text propertiesJava, PDF
Creating a simple tableJava, PDF
Add an image to a PDF documentJava, PDF
Create a listJava, PDF
Add a watermarkJava, PDF
Add links to navigate within a documentJava, PDF
Create a popup annotationJava, PDF
Change fontJava
Add form fieldsJava
<br>
General document settings
Change page size and marginJava, PDF
Write PDF to byte array instead of to diskJava
Change page rotationJava, PDF
Add header and footerJava, PDF
Merge documentsJava, PDF
Flatten annotationsJava
<br>
PDF/UA, PDF/A
Create PDF/UA documentJava, PDF
Create PDF/A-3 documentJava
Create PDF/A-4 documentJava
Create WTPDF documentJava
Create ZUGFeRD/Factur-X documentJava, PDF
<br>
Digital signatures
Sign PDF documentJava, PDF
Customize signature appearanceJava, PDFs
Sign PDF document with PaDES ProfileJava, PDFs
Two-phase signingJava, PDFs
Signature validationJava
Signing using PQC algorithms (experimental)Java, PDFs
Custom HTML tag for signatureJava, HTML, PDF
<br>
FIPS
Enable FIPSJava
FIPS SHA3 exampleJava
<br>
SVG
Convert SVG to a PDFJava
Convert SVG to a PDF using layoutJava
Convert SVG as string to PDFJava
Convert SVG to a PdfPageJava
Convert SVG as XObjectJava
Convert SVG to a PDF with pdfCalligraphJava
<br>
Convert HTML and CSS to PDFLink to repo
Convert simple HTML doc to PDFJava
<br>
OCR images or PDFsLink to repo
OCR images and create PDFUsing ONNX models, using Tesseract 4
Make PDF searchableUsing ONNX models, using Tesseract 4
OCR images to txt fileUsing ONNX models, using Tesseract 4
<br>
Secure redaction of contentLink to repo
Redacting contentJava
Redact based on regexJava
<br>
Support complex writing systemsLink to docs
Add Arabic textJava, PDF
<br>
Optimizing PDFsLink to docs
Reduce size of PDFJava
<br>
XFA flatteningLink to docs
Flatten an XFA documentJava
<br>
RUPSLink to repo
Debug a PDFLatest release

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, however, this doesn't mean the software is gratis!

The AGPL is a copyleft license, which means that any derivative work must also be licensed under the same terms. If you’re using iText in software or a service which cannot comply with the AGPL terms, we have a commercial license available that exempts you from such obligations.

Contact Sales for more info.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from itext/itext-java via the GitHub API.Last fetched: 6/17/2026