{"id":42459707,"url":"https://github.com/openpdfx/openpdfx","last_synced_at":"2026-01-28T09:15:26.582Z","repository":{"id":316784445,"uuid":"1064840561","full_name":"openpdfx/openpdfx","owner":"openpdfx","description":"OpenPdfx is a fork of OpenPDF (iText and Flying Saucer) - OpenPDF sibling / innovation stream!","archived":false,"fork":false,"pushed_at":"2026-01-10T11:34:35.000Z","size":36536,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-11T03:38:33.887Z","etag":null,"topics":["itext","java","openpdf","pdf","pdf-library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openpdfx.png","metadata":{"files":{"readme":"README.md","changelog":"changelogs/1.3.27.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T16:25:06.000Z","updated_at":"2026-01-10T11:34:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"35812dca-fcb5-4266-96e3-48f756af3898","html_url":"https://github.com/openpdfx/openpdfx","commit_stats":null,"previous_names":["openpdfx/openpdfx"],"tags_count":95,"template":false,"template_full_name":null,"purl":"pkg:github/openpdfx/openpdfx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpdfx%2Fopenpdfx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpdfx%2Fopenpdfx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpdfx%2Fopenpdfx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpdfx%2Fopenpdfx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openpdfx","download_url":"https://codeload.github.com/openpdfx/openpdfx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpdfx%2Fopenpdfx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28843351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["itext","java","openpdf","pdf","pdf-library"],"created_at":"2026-01-28T09:15:25.910Z","updated_at":"2026-01-28T09:15:26.569Z","avatar_url":"https://github.com/openpdfx.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenPdfx is an open source Java library for PDF files\n\nOpenPdfx is an open-source Java library for creating, editing, rendering, and encrypting PDF documents, as well as generating PDFs from HTML. It is licensed under the LGPL and MPL open source licenses. \nWe welcome contributions from other developers. Please feel free to submit pull-requests and bug reports to this GitHub repository.\n\nOpenPdfx is a fork of [OpenPDF](https://github.com/LibrePDF/OpenPDF), with focus on modernization, innovating new features and AI/llm usage and support.\n\n## OpenPdfx version 3.0.7 released 2026-01-28\n\nGet version 3.0.7 here: https://github.com/openpdfx/openpdfx/releases/tag/3.0.7 \n\n## Features\n\nThe features of OpenPdfx include:\n\n* [Openpdf](openpdf-core) Creating PDFs: You can use OpenPDF to create new PDF documents from scratch.\n* Manipulating Existing PDFs: OpenPDF allows you to modify existing PDF documents by adding or removing pages, modifying\n  text, and more.\n* [Openpdf-html](openpdf-html) Create PDF files from HTML, using OpenPDF-html which is a fork of Flying Saucer.\n* [Openpdf-renderer](openpdf-renderer) Render PDF files as images using openpdf-render.\n* [Openpdfx-ai](openpdfx-ai) AI/LLM feature support using Jlama for Openpdfx, using large languange models (llm) on \n  PDF files. \n* Text and Font Support: You can add text to PDF documents using various fonts and styles, and extract text from PDF\n  files.\n* Graphics and Images: OpenPDF supports the addition of images and graphics to PDF files.\n* Table Support: The library facilitates the creation of tables in PDF documents.\n* Encryption: You can encrypt PDF documents for security purposes.\n* Page Layout: OpenPDF allows you to set the page size, orientation, and other layout properties.\n* PDF 2.0 support (ISO 32000-2).\n\n\n![CI](https://github.com/openpdfx/openpdfx/actions/workflows/maven.yml/badge.svg)\n[![License (LGPL version 2.1)](https://img.shields.io/badge/license-GNU%20LGPL%20version%202.1-blue.svg?style=flat-square)](http://opensource.org/licenses/LGPL-2.1)\n[![License (MPL)](https://img.shields.io/badge/license-Mozilla%20Public%20License-yellow.svg?style=flat-square)](http://opensource.org/licenses/MPL-2.0)\n![Java 21](https://img.shields.io/badge/Java-21-blue?logo=java\u0026logoColor=yellow)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/fe9d121c83b34f578ba006241bcafc34)](https://app.codacy.com/gh/openpdfx/openpdfx/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n\n## Use OpenPdfx as Maven dependency\n\nOpenPdfx can be used as a Maven dependency. It is built and distributed on Maven Central.\n\n1. Add Maven dependency to the pom.xml file:\n```xml\n    \u003cdependency\u003e\n      \u003cgroupId\u003eio.github.openpdfx\u003c/groupId\u003e\n      \u003cartifactId\u003eopenpdfx\u003c/artifactId\u003e\n      \u003cversion\u003e3.0.7\u003c/version\u003e\n    \u003c/dependency\u003e\n```\n\n## Build with Gradle\n\nOpenPdfx also supports building with Gradle as an alternative to Maven.\n\nTo build the project using Gradle:\n\n```bash\n./gradlew build\n```\n\nFor more details on building with Gradle, see [GRADLE_BUILD.md](GRADLE_BUILD.md).\n\n## License\n\nOpenPdfx uses dual licensing: when using the library, you may choose either Mozilla Public License Version 2.0\nor GNU Lesser General Public License 2.1.  OpenPDF is the LGPL/MPL open source successor of iText, and is based on some forks of iText\n4 svn tag.\n\nThe SPDX license identifier for OpenPDF licensing is `MPL-2.0 OR LGPL-2.1+`\n\n[GNU Lesser General Public License (LGPL), Version 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1)\n\n\u003e For a short explanation see https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License\n\n[Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/2.0/)\n\n\u003e For a short explanation see https://en.wikipedia.org/wiki/Mozilla_Public_License\n\nYou can find also a nice explanation of these licenses under https://itsfoss.com/open-source-licenses-explained/\n\nWe want OpenPDF to consist of source code which is consistently licensed with the LGPL and MPL\nlicences only. This also means that any new contributions to the project must have a dual LGPL and\nMPL license only.\n\n[Openpdf-html](openpdf-html) and [Openpdf-renderer](openpdf-renderer) are licensed with GNU Lesser General Public License 2.1 only.\n\n## Documentation\n\n- [Examples](pdf-toolbox/src/test/java/org/openpdf/examples)\n- [JavaDoc](https://javadoc.io/doc/com.github.librepdf/openpdf/latest/index.html)\n- [Tutorial](https://github.com/LibrePDF/OpenPDF/wiki/Tutorial) (wiki, work in progress)\n- [Migration from iText, TIFF support](https://github.com/LibrePDF/OpenPDF/wiki/Migrating-from-iText-2-and-4)\n\n---\n\n### Openpdf-html – HTML to PDF\n[Openpdf-html](openpdf-html): Generates PDFs directly from HTML/CSS content.  \nIdeal for creating styled reports, invoices, and documents from web templates.\n\n**Maven artifact:** `com.github.librepdf:openpdf-html`\n\n---\n\n### Openpdf-renderer – PDF Rendering\n[Openpdf-renderer](openpdf-renderer): Renders PDF pages to images or displays them in Java webapp/Swing/JavaFX applications.  \nUseful for previews, thumbnails, or embedding PDFs in GUIs.\n\n**Maven artifact:** `com.github.librepdf:openpdf-renderer`\n\n---\n\n## Security Notice\n\nIt is the responsibility of the application developer to ensure that all input passed into OpenPDF is trusted,\nsanitized, and safe.\nOpenPDF does not perform input validation or enforce sandboxing. For important security guidelines and common risks,\nplease read our [Security Policy](Security.md).\n\n## Background\n\nOpenPDF is open source software with a LGPL and MPL license. It is a fork of iText version 4, more\nspecifically iText svn tag 4.2.0, which was hosted publicly on sourceforge with LGPL and MPL license\nheaders in the source code, and LGPL and MPL license documents in the svn repository. Beginning with\nversion 5.0 of iText, the developers have moved to the AGPL to improve their ability to sell\ncommercial licenses.\n\nOpenPDF-html is a fork of Flying Saucer, forked in june 2025, project started in 2004.\nopenpdf-renderer is a fork of PDFRenderer, porject started by Sun Labs in 2007.\nOpenPDF-core is a fork of iText, forked in October 2016, iText started in 2000.\n\n## Android\n\nOpenPDF can be used with Android, more info\nhere: [Android-support](https://github.com/LibrePDF/OpenPDF/wiki/Android-support)\n\n## Contributing\nWe welcome contributions from other developers. Make sure that your contributions can be released with a dual LGPL and MPL license. In particular, pull requests to the OpenPDF project must\nonly contain code that you have written yourself. GPL or AGPL licensed code will not be acceptable.\n\nTo contribute code to the OpenPDF project, your GitHub account must contain your real name, so that\nwe can verify your identity. This is to ensure the trust, security and integrity of the OpenPDF\nproject, and to prevent security incidents such as the \"XZ Utils backdoor\". Knowing the real name\nof the contributors will also identify and prevent conflict of interests.\n\nMore details: [Contributing](CONTRIBUTING.md)\n\n### Coding Style\n\n- Code indentation style is 4 spaces. Maximum line length is 120 characters.\n- Generally try to preserve the coding style in the file you are modifying.\n\n## Dependencies\n\n### Required Dependencies\n\nWe have now different versions of OpenPDF, and they require different versions of Java:\n\n- The 3.0.x Branch requires Java 21 or later.\n\n### Supporting complex glyph substitution/ Ligature substitution\n\nOpenPDF supports glyph substitution which is required for correct rendering of fonts ligature substitution requirements.\nFOP dependency is required to enable this feature. Refer following wiki for\ndetails: [wiki](https://github.com/LibrePDF/OpenPDF/wiki/Multi-byte-character-language-support-with-TTF-fonts)\n\n### Supporting OpenType layout, glyph positioning, reordering and substitution\n\nOpenPDF supports OpenType layout, glyph positioning, reordering and substitution which is e.g. required for correct\npositioning of accents, the rendering of non-Latin and right-to-left scripts. OpenPDF supports DIN 91379.\nSee: [wiki](https://github.com/LibrePDF/OpenPDF/wiki/Accents,-DIN-91379,-non-Latin-scripts)\n\n### Optional\n\n- [BouncyCastle](https://www.bouncycastle.org/) (BouncyCastle is used to sign PDF files, so it's a recommended\n  dependency)\n  - Provider (`org.bouncycastle:bcprov-jdk18on` or `org.bouncycastle:bcprov-ext-jdk18on` depending\n    on which algorithm you are using)\n  - PKIX/CMS (`org.bouncycastle:bcpkix-jdk18on`)\n- Apache FOP (`org.apache.xmlgraphics:fop`)\n- Please refer to our [pom.xml](pom.xml) to see what version is needed.\n\n## Credits\n\nPlease see [Contributors.md](Contributors.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpdfx%2Fopenpdfx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenpdfx%2Fopenpdfx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpdfx%2Fopenpdfx/lists"}