在PDF中使用Paragraph进行文本段落的处理

上一篇文章中我们使用itxtpdf库中的方法,绘制了一个固定表格与一个动态表格。如果你想在PDF中加入文字该怎么办呢。可以使用本文推荐的Paragraph这个类去实现,效果如下:

我在PDF中插入了一个工作流的审批流程。具体实现呢还是使用itextpdf库中的方法。

Paragraph settleCycle = new Paragraph();直接新创建一个文本,后面我们将在这个号文本中进行文字的编辑。
for (BpmTaskRespVO process : taskProcess) {//创建一个可以编辑文字的块区域Chunk chunk = new Chunk("   任务"+i+": " + process.getName(), processTitle);i--;//进行换行Chunk chunkRow1 = new Chunk("\n\n", content);Chunk chunk1 = new Chunk("      审批人:  " + process.getAssigneeUser().getNickname(), content);//给这一行加上北京颜色chunk1.setBackground(new BaseColor(242,242,242),-5f,25f,400f,10f);Chunk chunkSpace1 = new Chunk("         ", content);Chunk chunk2 = new Chunk("   操作:  " + getDitcValue("bpm_process_instance_result", String.valueOf(process.getResult())), content);Chunk chunkSpace2 = new Chunk("         ", content);Chunk chunk3 = new Chunk("   审批时间:  " + process.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), content);Chunk chunkRow2 = new Chunk("\n", content);Chunk chunk4 = new Chunk(StringUtils.isNotBlank(process.getReason()) ? "     " + process.getReason() : "        处理中", restFont);if (process.getResult().equals(AUDIT_SUCCESS_STATE)) {chunk4 = new Chunk("        通过", passFont);}if (process.getResult().equals(AUDIT_FAIL_STATE)) {chunk4 = new Chunk("        不通过", failFont);}//为审批状态单独设置颜色chunk4.setBackground(new BaseColor(240,249,235),-5f,0f,10f,2f);Chunk chunkRow3 = new Chunk("\n\n\n", content);//依次将上面所创建的文本内容块添加到编辑区内settleCycle.add(chunk);settleCycle.add(chunkRow1);settleCycle.add(chunk1);settleCycle.add(chunkSpace1);settleCycle.add(chunk2);settleCycle.add(chunkSpace2);settleCycle.add(chunk3);settleCycle.add(chunkRow2);settleCycle.add(chunk4);settleCycle.add(chunkRow3);}

 主要就是使用Chunk这个类进行内容的拼接操作,如果不换行,所有块内容都会在一行,这个根据自己实际业务调整布局,我在每个汉字前都加入了空格,为了就是让这一行不要太靠左边,当然这个方法没有去采用正规的实现,但是这样实现起来很方便。这一块需要耐心调整。

接下来就将刚刚编辑好的内容在添加到文档document中即可:

settleCycle.setSpacingBefore(1f);
settleCycle.setSpacingAfter(2f);
settleCycle.setAlignment(Element.ALIGN_LEFT);
document.add(settleCycle);

这样就实现了在PDF中编辑文本内容了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707188.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂RDMA: Remote Direct Memory Access(远程直接内存访问)

目录 ​编辑 引言 一、RDMA的基本原理 二、RDMA的主要特点 三、RDMA的编程接口 四、RDMA的代码演示 服务器端代码: 客户端代码: 五、总结 引言 RDMA,全称Remote Direct Memory Access,即远程直接内存访问,是…

蓝队技术 | 使用Sysmon日志识别和分析Windows恶意活动

在这篇文章中,我们将演示如何使用Sysmon日志来分析和了解恶意软件的各种行为,其中包括如何通过Firefox从Dropbox下载、运行、并使用Windows工具进行安装。本文将介绍Sysmon日志中各种有用的Event ID,以及如何识别和分析Windows操作系统上的恶…

Find My资讯|苹果 iOS 17.5 率先执行跨平台反跟踪器标准

苹果和谷歌公司于 2023 年 5 月宣布推出“检测预期外位置追踪器”(Detecting Unwanted Location Trackers)行业标准,经过 1 年多的打磨之后,该标准目前已通过 iOS 17.5 部署到 iPhone 上。谷歌也将为运行 Android 6.0 或更高版本的…

Leetcode - 130双周赛

目录 一,3142. 判断矩阵是否满足条件 二,3143. 正方形中的最多点数 三,3144. 分割字符频率相等的最少子字符串 四,3145. 大数组元素的乘积 一,3142. 判断矩阵是否满足条件 本题题意,满足每一列的数全部…

多客陪玩系统源码,线上游戏开黑陪玩,线下预约家政服务,语音陪聊,陪玩成品搭建,源码交付,支持二开,陪玩系统开发

游戏陪玩系统主要的优势就是,只要有手游和网游不断推出,就有钱可赚。为什么呢?因为电竞行业正处于上升发展阶段,而且玩游戏对于现代人来说是很好的一种解压方式,所以在市场和用户需求方面都是有保证的。再加上现代人的社交压力越…

Ps 滤镜:底纹效果

Ps菜单:滤镜/滤镜库/艺术效果/底纹效果 Filter Gallery/Artistic/Underpainting 底纹效果 Underpainting滤镜用于在带有纹理的背景上模拟传统绘画技术,特别是底层绘画的效果。该滤镜通过将图像与纹理结合,并在纹理的影响下重绘图像&#xff0…

数据库设计大题详解

大题一:画E-R图(概念结构设计) 实体就是具体的物品,关系就是实体之间的关系,属性就是特征,内涵的意思 简单的小栗子: 1对1,1对n,n对m,自己考虑两者存在这个关…

alphassl泛域名证书13个月600

AlphaSSL是GlobalSign旗下的数字证书品牌,它主要视为客户提供两种入门级的SSL证书——DV单域名以及泛域名SSL证书。这两种SSL证书一种可以保护www和两个域名记录,或者单个子域名激励;另一种可以同时保护多个域名记录,满足了大部分…

Android手动下载Gradle的使用方法

导入新项目通常会自动下载gradle版本,这种方式很慢而且经常下载失败,按照提示手动下载的gradle应该放在那里,如何使用,本篇文章为你提供一种亲测有效的方法: 在Android Studio打开Setting搜索Gradle找到Gradle的存放目…

Wondershaper网络限制脚本源码分析一(下载速度限制篇)

Wondershaper 是一个简单的 Linux 命令行工具,用于自动管理和控制网络接口的上行和下行带宽,旨在为用户提供稳定的网络体验,尤其是在网络拥塞的情况下。它通过 Traffic Control (tc) 工具集实现这一功能,但与直接使用 tc 相比&…

NFTScan 升级 Bitcoin NFT 浏览器,全面优化 NFT 数据解析体系

2024 年 5 月 16 号,NFTScan 团队正式全面升级了 Bitcoin NFT 浏览器。随着 Ordinals 铭文生态的崛起开始,Bitcoin 链上活动极大增加,市场被广泛认可,NFT 生态逐渐蓬勃发展。此次 Bitcoin NFTScan 浏览器对 Ordinals 铭文板块进行…

亚马逊调整退货处理费,卖家如何应对新挑战?

在电子商务领域,退货处理一直是一个重要且复杂的问题。作为全球最大的电子商务平台之一,亚马逊一直在寻求优化退货处理流程,以平衡消费者满意度和运营成本。近日,亚马逊宣布自2024年6月1日起,将对退货处理费收取标准进…