2016年4月26日在班加罗尔举行的印度开发者峰会上宣布了iText 7的发布.5月份我们发布了iText 7的第一个版本。本教程是关于如何使用iText 7的第一本手册。它不是iText2“iText in Action”和iText5“iText in Action - Second Edition”的终极资源。它被称为Jump-Start教程,因为它可以让您快速浏览基本的iText功能,仅限于PDF创建和操作。这使得新的iText用户能够发现什么是可能的,而经验丰富的iText用户将会发现与iText5相比有什么不同。
iText 7带来:
对所有主要类和接口进行完整的修改,一方面使用户更加符合逻辑,另一方面尽可能地保持与iText 5的兼容性,
一个全新的布局模块,超越了iText 5 ColumnText对象的能力,并且可以生成复杂的PDF布局,
一个完整的字体类的重写,使先进的排版。
我们打算发布一系列单独的教程,更详细地放大iText 7的各个方面,比如对高级对象的深入概述,一个PDF的基础手册,一本专门用于AcroForms只是AcroForms。我们还需要教程来介绍这个Jump-Start教程中未涉及的功能,例如数字签名技术和文本提取。
在我们开始之前:安装iText 7
第1章:介绍基本构建块
第2章:添加底层内容
第3章:使用渲染器和事件处理程序
第4章:使PDF交互
第5章:操作现有的PDF文档
第6章:重用现有的PDF文档
第7章:创建PDF / UA和PDF / A文档
示例iText 7跳转启动教程
Before we start: installing iText 7
本教程中介绍的所有示例均可在我们的网站上通过以下URL访问:http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/examples
在我们开始使用iText 7之前,我们需要安装必要的iText jar。 最好的方法是从中央Maven仓库导入依赖。 我们已经做了一些简单的视频解释如何使用不同的IDE来做到这一点:
- How to import iText 7 in Eclipse to create a Hello World PDF?
- How to import iText 7 in Netbeans to create a Hello World PDF?
- How to import iText 7 in IntelliJ IDEA to create a Hello World PDF?
在这些教程中,我们只将kernel和layout定义为依赖关系。 Maven也会自动导入io模块,因为内核包依赖于io包。
如果要运行本教程中的所有示例,则需要定义完整的依赖关系列表:
<dependencies>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.0.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.18</version>
</dependency>
</dependencies>
每个依赖对应于Java中的jar和C#中的DLL。
- kernel和io:包含低级功能。
- layout:包含高级功能。
- forms:所有AcroForm示例都需要。
- pdfa:PDF/A特定功能所需的。
- pdftest:也是一个测试的例子所需要的。
在本教程中,我们不会使用以下可用的模块:
- barcodes:如果你想创建条码,使用这个。
- hyph:如果你想让文本被连字符,可以使用这个。
- font-asian:使用这个是你需要的CJK功能(中文/日文/韩文)
- sign:如果您需要数字签名支持,请使用此选项。
上面列出的所有jars都可以根据AGPL许可证获得。额外的iText 7功能可以通过附加组件获得,这些附加组件通过商业授权以jars形式交付。如果您想要使用这些附件中的任何一个,或者如果您要使用iText 7和您的专有代码,则需要获取iText 7的商业许可证密钥(请参阅我们网站的法律部分)。
您可以使用许可证密钥模块导入这样的许可证密钥。为了能够下载这个JAR文件,你需要添加一个仓库到你的仓库文件中的仓库节点。这是必要的,因为许可证密钥存储库是封闭源,因此在Maven Central上不可用。
<repositories>
<repository>
<id>itext</id>
<name>iText Repository - releases</name>
<url>https://repo.itextsupport.com/releases</url>
</repository>
</repositories>
您可以通过添加如下所示的依赖项来获取许可证密钥jar:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-licensekey</artifactId>
<version>2.0.4</version>
</dependency>
iText中的一些功能是封闭的源代码。 例如,如果你想使用PdfCalligraph,你需要排版模块。 没有官方许可证密钥,此模块将无法使用。