iText是一个开源的Java库,用于处理PDF文档的创建、修改和呈现。 它提供了一系列功能强大的 API,使开发人员能够在他们的应用程序中轻松地操作 PDF 文件。
它是由一家名为iText Group NV的公司开发和维护的,总部位于比利时。该公司专注于 PDF 技术,并致力于提供高质量的PDF处理解决方案。
iText套件提供的 一系列PDF相关的工具 、库和产品。这些工具包括开源项目和闭源产品, 涵盖了PDF文档的创建、处理、渲染、优化等多个方面。
- 创建PDF文档: 从头开始设计每一页的内容、样式和布局。
- 操作PDF文档: 添加、删除和修改文本、图像、表格等内容。
- 文本处理: 可以对文本进行格式化、添加链接、插入特殊字符等。
- 图像处理: 它支持添加图像到PDF文件中,并提供了对图像进行调整、裁剪和压缩的功能。
- 表格处理: 创建和编辑PDF中的表格,包括设置表格的大小、行高、列宽等。
- 字体和样式: 控制文本的字体、大小、颜色和样式,以及添加特殊效果如加粗、斜体等。
- 页面布局: 允许对页面进行布局,包括添加页眉、页脚、页码等。
- 加密与安全: 它支持PDF文档的加密和数字签名,以确保文档的安全性和完整性。
- 关于PDF操作带有单位的值如:宽度、高度等等的值都是以 磅(pt) 为单位:
1 磅(pt) ≈ 1.33 像素(px) 1 像素(px) ≈ 0.75 磅(pt) - 关于PDF操作带有度数的值需要使用如下公式来指定具体度数:
旋转角度 = 旋转角度 * 圆周率 / 180度
关于下文中使用的一些常见类这里介绍了如:颜色。
PdfWriter、PdfReader:
PdfWriter类用于将文档内容写入到PDF文件中。它负责创建和管理PDF文档的输出流,并将文档内容写入到指定的PDF文件或输出流中。通过PdfWriter,可以将创建的文档内容(如页面、文本、图像等)写入到PDF文件中,完成PDF文档的构建过程。
PdfReader类用于读取已存在的PDF文档内容,提取其中的信息并进行相应的操作。通过PdfReader,可以读取文档的页面、文本、图形以及元数据信息,进行文档内容的分析和提取操作。
正常情况下我们不会单独来使用此类来手动写入流和读取流操作,而是借助下面两个类来操作。
PdfDocument类:
说到PdfDocument,它可是iText中的一个重要类,主要用于表示PDF文档的实例。PdfDocument类在iText库中扮演着多种角色,包括创建新的PDF文档、打开现有的PDF文档进行读取和编辑、以及保存和关闭PDF文档等功能。:
Document类:
Document是iText库中用于创建PDF文档内容的类,通常与PdfDocument一起使用。它用于定义文档的逻辑结构,包括段落、章节、列表、表格等高级元素,并负责组织和格式化文本内容,使其在PDF文档中呈现出合适的样式和排版;还有就是它更侧重于高层次的文档内容创建,如添加段落、列表、表格、链接等。Document类还有一个父类RootDocument哟。
点击查看详情:PdfDocument常用对象和方法
点击查看详情:Document常用对象和方法
在下面的这两个案例中可以让大家直观的看出页面的创建和页面的复制,记住一点,我们不创建页面,文档会自动为我们创建页面,当写入的内容超出当前页面后,文档也会为我们创建下一张页面。所以在不确定页面的情况下我们不用手动创建新页面。但是若我们明确知道有几页则推荐提前创建,因为我们不确定我们在后面会进行指定页面的操作以及在指定页面上使用画布。
我们可以通过画布来对生成的每一个页创建背景,具体的画布canvas将在后面讲解。
元数据信息对于文档的管理、搜索和归档非常重要,比如描述文档的标题、作者、主题、关键字等内容,有助于对文档进行分类和组织,使得用户可以更容易地找到和识别所需的文档。
PDF的加密是必不可少的,Itext为我们提供了两种文档加密方式,分别是:标准加密(密码)、公钥加密;下面我们将基本的介绍这标准的加密方式。
点击查看详情:加密方法和EncryptionConstants类说明
点击查看详情:PDF的标准加密和解码读取
字体的样式无非就是加粗、倾斜、下划线、颜色、行间距、缩进、字体等等操作,下面看一些常用的方法,针对这些方法下面案例会进行一个说明。
点看查看详情:关于字体操作的常用方法
代码效果:

上面说了字体文本的基本样式,但是上面的案例没有使用中文,英文这种会出现问题,ItextPDF对咱们亚洲字体的显示有问题,所以下面主要讲讲字体的显示问题以及字体族等信息。
点开查看详情:关于中文字体包的详细说明
代码效果:

这里主要将介绍文本的描边样式和字符间隔,还有就是需要注意 new Text() 它的样式其实基本上都有,可以针对某几个字符进行单独设置样式。
代码效果:

这玩意没啥好说的,但是用的也是挺多的,设置对应的边框和边框圆角可以看起来圆润,它和CSS的圆角一模一样,下面我就写个简单示例:
点开查看详情:关于元素边框和边框圆角详细说明
代码效果:

关于PDF操作背景的使用方式有许多种,他就像我们学前端一样,如背景图片、背景色、线性渐变等等操作,下面我就简单举几个例子:
代码效果:

点开查看详情:关于图片背景和线性背景代码
点开查看详情:关于图片背景和线性背景详细说明
这玩意就和前端一样,有相对定位,也有绝对定位,下面我将对这两种定位来个简单的示例:
代码效果:

代码效果:

点开查看详情:关于BlockElement的常用方法
<pre></pre></details>
点开查看详情:关于ElementPropertyContainer的常用方法,它是BlockElement父类
段落对象其实就和前端的p标签一样,它是块级元素且内部可以塞入各种元素,把它当前端看即可。
点开查看详情:关于段落(Paragraph)标签特有的常用方法
<pre></pre></details>
代码效果:

其实列表在前端就相当于ul>li这些标签,但是在这里它以对象的方式来体现,下面详细说明:
点击查看详情:关于列表和列表元素(List、ListItem)标签的特有常用方法
<pre></pre></details>
代码效果:

点开查看详情:关于分割线(LineSeparator)的基本使用
<pre></pre></details>
代码效果:

表格是个好东西,在这里的表格我们可以用来生成一些文档表格、合同等需要排版的内容,还有就是表格可以用来布局哟,它就像以前我们用前端的表格布局一样。
点击查看详情:关于表格(Table、Cell)对象的特有方法使用
<pre></pre></details>
1:表格基本使用
2:添加元素的几种方式
代码效果:

3:合并单元格
代码效果:

点开查看详情:关于合并单元格详细代码
<pre></pre></details>
4:表格添加外边框
代码效果:

5:案例学生证
代码效果:

6:案例成绩表
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/5090.html