1 Star 0 Fork 0

ices / OpenPDF

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
LGPL-2.1

OpenPDF is an open source Java library for PDF files

OpenPDF is a Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is the LGPL/MPL open source successor of iText, and is based on some forks of iText 4 svn tag. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository.

CI Maven Central License (LGPL version 3.0) License (MPL)

Join the chat at https://gitter.im/LibrePDF/OpenPDF

OpenPDF version 1.3.33 released 2023-11-15

Get version 1.3.33 here - https://github.com/LibrePDF/OpenPDF/releases/tag/1.3.33

Use OpenPDF as Maven dependency

Add this to your pom.xml file to use the latest version of OpenPDF:


<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf</artifactId>
  <version>1.3.33</version>
</dependency>

License

GNU Lesser General Public License (LGPL), Version 2.1

For a short explanation see https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License

Mozilla Public License Version 2.0

For a short explanation see https://en.wikipedia.org/wiki/Mozilla_Public_License

You can find also a nice explanation of these licenses under https://itsfoss.com/open-source-licenses-explained/

We want OpenPDF to consist of source code which is consistently licensed with the LGPL and MPL licences only. This also means that any new contributions to the project must have a dual LGPL and MPL license only.

Documentation

Background

OpenPDF is open source software with a LGPL and MPL license. It is a fork of iText version 4, more specifically iText svn tag 4.2.0, which was hosted publicly on sourceforge with LGPL and MPL license headers in the source code, and LGPL and MPL license documents in the svn repository. Beginning with version 5.0 of iText, the developers have moved to the AGPL to improve their ability to sell commercial licenses.

OpenPDF ancestors in GitHub (in fork order):

  1. @rtfarte / OpenPDF - parent of LibrePDF/OpenPDF
  2. @kulatamicuda / iText-4.2.0
  3. @daviddurand / iText-4.2.0
  4. @ymasory / iText-4.2.0 - original parent on GitHub

Projects using OpenPDF

Android

OpenPDF can be used with Android, more info here: Android-support

Contributing

Release the hounds! Please send all pull requests. Make sure that your contributions can be released with a dual LGPL and MPL license. In particular, pull requests to the OpenPDF project must only contain code that you have written yourself. GPL or AGPL licensed code will not be acceptable.

Coding Style

  • Code indentation style is 4 spaces.
  • Generally try to preserve the coding style in the file you are modifying.

Dependencies

Required Dependencies:

  • Java 8 or later is required to use OpenPDF. All versions Java 8 to Java OpenJDK 15 have been tested to work.

UTF-8 Fonts:

As of 1.3.21 the UTF-8 Liberation fonts moved to its own module, to reduce the size of the OpenPDF jar. If you want to use the bundled UTF-8 fonts, please add the following dependency to your project and use the class org.librepdf.openpdf.fonts.Liberation.

<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf-fonts-extra</artifactId>
  <version>${openpdf.version}</version>
</dependency>

Supporting complex glyph substitution/ Ligature substitution:

OpenPDF supports glyph substitution which is required for correct rendering of fonts ligature substitution requirements. FOP dependency is required to enable this feature. Refer following wiki for details: wiki

Supporting OpenType layout, glyph positioning, reordering and substitution:

OpenPDF supports OpenType layout, glyph positioning, reordering and substitution which is e.g. required for correct positioning of accents, the rendering of non-Latin and right-to-left scripts. OpenPDF supports DIN 91379. See: wiki

Optional:

  • BouncyCastle (BouncyCastle is used to sign PDF files, so it's a recommended dependency)
    • Provider (org.bouncycastle:bcprov-jdk18on or org.bouncycastle:bcprov-ext-jdk18on depending on which algorithm you are using)
    • PKIX/CMS (org.bouncycastle:bcpkix-jdk18on)
  • Apache FOP (org.apache.xmlgraphics:fop)
  • Tiff support: Java versions prior to 9 require an additional library in the classpath to handle tiff images. Options are:
  • Please refer to our pom.xml to see what version is needed.

Credits

Please see Contributors.md.

# OpenPDF is an open source Java library for PDF files # OpenPDF is a Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is the LGPL/MPL open source successor of iText, and is based on some forks of iText 4 svn tag. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository. ![CI](https://github.com/LibrePDF/OpenPDF/actions/workflows/maven.yml/badge.svg) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.librepdf/openpdf/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.librepdf/openpdf) [![License (LGPL version 3.0)](https://img.shields.io/badge/license-GNU%20LGPL%20version%202.1-blue.svg?style=flat-square)](http://opensource.org/licenses/LGPL-2.1) [![License (MPL)](https://img.shields.io/badge/license-Mozilla%20Public%20License-yellow.svg?style=flat-square)](http://opensource.org/licenses/MPL-2.0) [![Join the chat at https://gitter.im/LibrePDF/OpenPDF](https://badges.gitter.im/LibrePDF/OpenPDF.svg)](https://gitter.im/LibrePDF/OpenPDF) ## OpenPDF version 1.3.33 released 2023-11-15 ## Get version 1.3.33 here - https://github.com/LibrePDF/OpenPDF/releases/tag/1.3.33 - [Previous releases](https://github.com/LibrePDF/OpenPDF/releases) ## Use OpenPDF as Maven dependency Add this to your pom.xml file to use the latest version of OpenPDF: ```xml <dependency> <groupId>com.github.librepdf</groupId> <artifactId>openpdf</artifactId> <version>1.3.33</version> </dependency> ``` ## License ## [GNU Lesser General Public License (LGPL), Version 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1) For a short explanation see https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/2.0/) For a short explanation see https://en.wikipedia.org/wiki/Mozilla_Public_License You can find also a nice explanation of these licenses under https://itsfoss.com/open-source-licenses-explained/ We want OpenPDF to consist of source code which is consistently licensed with the LGPL and MPL licences only. This also means that any new contributions to the project must have a dual LGPL and MPL license only. ## Documentation ## - [Examples](pdf-toolbox/src/test/java/com/lowagie/examples) - [JavaDoc](https://librepdf.github.io/OpenPDF/docs-1-3-17/) - [Tutorial](https://github.com/LibrePDF/OpenPDF/wiki/Tutorial) (wiki, work in progress) - [Migration from iText, TIFF support](https://github.com/LibrePDF/OpenPDF/wiki/Migrating-from-iText-2-and-4) ## Background ## OpenPDF is open source software with a LGPL and MPL license. It is a fork of iText version 4, more specifically iText svn tag 4.2.0, which was hosted publicly on sourceforge with LGPL and MPL license headers in the source code, and LGPL and MPL license documents in the svn repository. Beginning with version 5.0 of iText, the developers have moved to the AGPL to improve their ability to sell commercial licenses. OpenPDF ancestors in GitHub (in fork order): 1. [@rtfarte](https://github.com/rtfarte) / [OpenPDF](https://github.com/rtfarte/OpenPDF) - parent of LibrePDF/OpenPDF 2. [@kulatamicuda](https://github.com/kulatamicuda) / [iText-4.2.0](https://github.com/kulatamicuda/iText-4.2.0) 3. [@daviddurand](https://github.com/daviddurand) / [iText-4.2.0](https://github.com/daviddurand/iText-4.2.0) 4. [@ymasory](https://github.com/ymasory) / [iText-4.2.0](https://github.com/ymasory/iText-4.2.0) - original parent on GitHub ## Projects using OpenPDF ## - Spring Framework https://github.com/spring-projects/spring-framework - flyingsaucer https://github.com/flyingsaucerproject/flyingsaucer - Confluence PDF Export - Digital Signature Service - https://github.com/esig/dss - OpenCMS, Nuxeo Web Framework, QR Invoice Library and many closed source commercial applications as well. - Full list here: https://mvnrepository.com/artifact/com.github.librepdf/openpdf/usages ## Android ## OpenPDF can be used with Android, more info here: [Android-support](https://github.com/LibrePDF/OpenPDF/wiki/Android-support) ## Contributing ## Release the hounds! Please send all pull requests. Make sure that your contributions can be released with a dual LGPL and MPL license. In particular, pull requests to the OpenPDF project must only contain code that you have written yourself. GPL or AGPL licensed code will not be acceptable. ### Coding Style ### - Code indentation style is 4 spaces. - Generally try to preserve the coding style in the file you are modifying. ## Dependencies ## ### Required Dependencies: ### - Java 8 or later is required to use OpenPDF. All versions Java 8 to Java OpenJDK 15 have been tested to work. ### UTF-8 Fonts: ### As of 1.3.21 the UTF-8 Liberation fonts moved to its own module, to reduce the size of the OpenPDF jar. If you want to use the bundled UTF-8 fonts, please add the following dependency to your project and use the class `org.librepdf.openpdf.fonts.Liberation`. ```xml <dependency> <groupId>com.github.librepdf</groupId> <artifactId>openpdf-fonts-extra</artifactId> <version>${openpdf.version}</version> </dependency> ``` ### Supporting complex glyph substitution/ Ligature substitution: ### OpenPDF supports glyph substitution which is required for correct rendering of fonts ligature substitution requirements. FOP dependency is required to enable this feature. Refer following wiki for details: [wiki](https://github.com/LibrePDF/OpenPDF/wiki/Multi-byte-character-language-support-with-TTF-fonts) ### Supporting OpenType layout, glyph positioning, reordering and substitution: ### OpenPDF supports OpenType layout, glyph positioning, reordering and substitution which is e.g. required for correct positioning of accents, the rendering of non-Latin and right-to-left scripts. OpenPDF supports DIN 91379. See: [wiki](https://github.com/LibrePDF/OpenPDF/wiki/Accents,-DIN-91379,-non-Latin-scripts) ### Optional: ### - [BouncyCastle](https://www.bouncycastle.org/) (BouncyCastle is used to sign PDF files, so it's a recommended dependency) - Provider (`org.bouncycastle:bcprov-jdk18on` or `org.bouncycastle:bcprov-ext-jdk18on` depending on which algorithm you are using) - PKIX/CMS (`org.bouncycastle:bcpkix-jdk18on`) - Apache FOP (`org.apache.xmlgraphics:fop`) - Tiff support: Java versions prior to 9 require an additional library in the classpath to handle tiff images. Options are: - https://github.com/haraldk/TwelveMonkeys - https://github.com/jai-imageio/jai-imageio-core - Please refer to our [pom.xml](pom.xml) to see what version is needed. ## Credits ## Please see [Contributors.md](Contributors.md).

简介

暂无描述 展开 收起
Java 等 3 种语言
LGPL-2.1
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ices-fish/OpenPDF.git
git@gitee.com:ices-fish/OpenPDF.git
ices-fish
OpenPDF
OpenPDF
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891