当前位置: 首页 > news >正文

itextPdf生成pdf简单示例

文章环境

jdk1.8,springboot2.6.13

POM依赖

        <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>

示例代码

package com.example.example;import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;import java.io.FileOutputStream;
import java.io.IOException;/*** @author bao* @date 2024/3/25 16:10*/
public class SimpleGenPdf {public static void main(String[] args) throws DocumentException,IOException {// 定义中文字体BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);Font fontCN = new Font(bfChinese, 12, Font.NORMAL);// 步骤1:创建一个大小为A4的文档Document document = new Document(PageSize.A4);try {// 步骤 2:// 我们为document创建一个监听,并把PDF流写到文件中//获取资源文件路径String resourcePath = "./src/main/resources/";PdfWriter.getInstance(document, new FileOutputStream(resourcePath + "/pdf/simplePdf.pdf"));// 步骤 3:打开文档document.open();// 段落Paragraph paragraph = new Paragraph("证明\r\r", new Font(bfChinese, 13, Font.NORMAL));//设置文字居中paragraph.setAlignment(Element.ALIGN_CENTER);//设置左缩进paragraph.setIndentationLeft(12);//设置右缩进paragraph.setIndentationRight(12);//设置首行缩进paragraph.setFirstLineIndent(24);//行间距paragraph.setLeading(15f);//设置段落上空白paragraph.setSpacingBefore(5f);//设置段落下空白paragraph.setSpacingAfter(5f);document.add(paragraph);//第一个表格document.add(new Paragraph("默认情况下的大小---居中 80%", fontCN));// 创建一个有3列的表格PdfPTable userTable = new PdfPTable(3);// 定义一个表格列头PdfPCell tableColumnHead = new PdfPCell(new Paragraph("header with colspan 3"));// 定义一个表格单元的跨度tableColumnHead.setColspan(3);// 把单元加到表格中userTable.addCell(tableColumnHead);//把下面这9项顺次的加入到表格中,当一行充满时候自动折行到下一行userTable.addCell("1.1");userTable.addCell("2.1");userTable.addCell("3.1");userTable.addCell("1.2");userTable.addCell("2.2");userTable.addCell("3.2");userTable.addCell("1.3");userTable.addCell("2.3");userTable.addCell("3.3");// 增加到文档中document.add(userTable);//第二个表格document.add(new Paragraph("居中 100%", fontCN));PdfPTable centerTable = userTable;// 设置表格大小为可用空白区域的100%centerTable.setWidthPercentage(100);// 增加到文档中2document.add(centerTable);//第三个表格document.add(new Paragraph("居右 50%", fontCN));PdfPTable rightTable = userTable;// 设置表格大小为可用空白区域的50%rightTable.setWidthPercentage(50);// 设置水平对齐方式为 居右rightTable.setHorizontalAlignment(Element.ALIGN_RIGHT);// 增加到文档中3document.add(rightTable);document.add(new Paragraph("居左 50%", fontCN));PdfPTable leftTable = userTable;// 设置水平对齐方式为 居左leftTable.setHorizontalAlignment(Element.ALIGN_LEFT);document.add(leftTable);} catch (Exception de) {de.printStackTrace();}// 步骤 5:关闭文档document.close();}
}

生成结果

git完整项目代码

bnmjstu / itextpdf-simple-example · GitCode

相关文章:

itextPdf生成pdf简单示例

文章环境 jdk1.8&#xff0c;springboot2.6.13 POM依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.ite…...

【Linux系列】tree和find命令

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

AI预测福彩3D第23弹【2024年4月1日预测--第4套算法重新开始计算第9次测试】

今天继续对第4套算法进行测试&#xff0c;因为第4套算法已连续多期命中&#xff0c;相对来说还算稳定。好了&#xff0c;废话不多说了&#xff0c;直接上预测的结果吧~ 2024年4月1日福彩3D的七码预测结果如下 第一套&#xff1a; 百位&#xff1a;0 1 …...

Java常见限流用法介绍和实现

目录 一、现象 二、工具 ​​​​​​1、AtomicInteger,AtomicLong 原子类操作 ​​​​​​2、RedisLua ​​​​​​3、Google Guava的RateLimiter 1&#xff09; 使用 2&#xff09; Demo 3&#xff09; 优化demo 4、阿里开源的Sentinel 三、算法 1、计数限流 &…...

算法——图论:判断二分图(染色问题)

题目&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;并查集 class Solution { public:vector<int>father;int find(int x){if (father[x] ! x)father[x] find(father[x]);return father[x];}void add(int x1, int x2){int fa1 find(x1), f…...

三步提升IEDA下载速度——修改IDEA中镜像地址

找到IDEA的本地安装地址 D:\tool\IntelliJ IDEA 2022.2.4\plugins\maven\lib\maven3\conf 搜索阿里云maven仓库 复制https://developer.aliyun.com/mvn/guide中红框部分代码 这里也是一样的&#xff1a; <mirror><id>aliyunmaven</id><mirrorOf>*&…...

CentOS7 RPM升级支持BBR TCP/CC的内核版本

列出安装的内核 rpm -qa kernel # yum list installed kernel 删除已安装内核 sudo dnf remove kernel-4.0.4-301.fc22.x86_64 安装内核 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noar…...

文本向量模型BGE与BGE-M3

BGE模型 BGE模型对应的技术报告为《C-Pack: Packaged Resources To Advance General Chinese Embedding》 训练数据 为了训练BGE向量模型&#xff0c;构建了C-MTP数据集&#xff0c;它包括了用来训练文本向量的文本对数据&#xff08;问答对、两个同义句子、相同主题的两个文…...

【黑马头条】-day04自媒体文章审核-阿里云接口-敏感词分析DFA-图像识别OCR-异步调用MQ

文章目录 day4学习内容自媒体文章自动审核今日内容 1 自媒体文章自动审核1.1 审核流程1.2 内容安全第三方接口1.3 引入阿里云内容安全接口1.3.1 添加依赖1.3.2 导入aliyun模块1.3.3 注入Bean测试 2 app端文章保存接口2.1 表结构说明2.2 分布式id2.2.1 分布式id-技术选型2.2.2 雪…...

新能源充电桩站场AI视频智能分析烟火检测方案及技术特点分析

新能源汽车充电起火的原因多种多样&#xff0c;涉及技术、设备、操作等多个方面。从技术层面来看&#xff0c;新能源汽车的电池管理系统可能存在缺陷&#xff0c;导致电池在充电过程中出现过热、短路等问题&#xff0c;从而引发火灾。在设备方面&#xff0c;充电桩的设计和生产…...

springboot集成logback-spring.xml文件

彩色日志日志分debug和error文件输出&#xff0c;方便开发人员运维日志限制最大保管天数日志限制总量大小占用量GB日志限制单个文件大小MB日志显示最大保留天数屏蔽没用的日志 <?xml version"1.0" encoding"UTF-8"?> <!--~ Copyright (c) 2020…...

centos7 安装 nginx

一、yum 方式安装 1.安装yum工具 sudo yum install yum-utils 2. 安装epel yum install epel-release 3.安装nginx&#xff1a; yum install nginx 4.查看版本 nginx -v 5.设置开机自启动 systemctl enable nginx nginx 常用命令&#xff1a; 1&#xff09;启动nginx …...

29. UE5 RPG应用GamplayAbility

前面几篇文章&#xff0c;总算把GE给更新完了&#xff0c;GE的基础应用也算讲清楚了。接下来&#xff0c;我们将更新GA的相应的课程了&#xff0c;首先&#xff0c;这一篇先对GA做一个简单的介绍&#xff0c;然后实现一下如何实现给角色应用一个GA。 简介 GamplayAbility 简称…...

http和https的区别!

HTTP 明文传输&#xff0c;数据都是未加密的&#xff0c;安全性较差&#xff0c;HTTPS&#xff08;SSLHTTP&#xff09; 数据传输过程是加密的&#xff0c;安全性较好。 使用 HTTPS 协议需要到 CA&#xff08;Certificate Authority&#xff0c;数字证书认证机构&#xff09; …...

使用AOP实现打印日志

首先创建annotation.SystemLog类&#xff1a; package com.gjh.annotation;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target(ElementType.METHOD…...

2024年新算法-冠豪猪优化算法(CPO),CPO-RF-Adaboost,CPO优化随机森林RF-Adaboost回归预测-附代码

冠豪猪优化算法&#xff08;CPO&#xff09;是一种基于自然界中猪群觅食行为启发的优化算法。该算法模拟了猪群在寻找食物时的集群行为&#xff0c;通过一系列的迭代过程来优化目标函数&#xff0c;以寻找最优解。在这个算法中&#xff0c;猪被分为几个群体&#xff0c;每个群体…...

浅谈高阶智能驾驶-NOA领航辅助的技术与发展

浅谈高阶智能驾驶-NOA领航辅助的技术与发展 附赠自动驾驶学习资料和量产经验&#xff1a;链接 2019年在国内首次试驾特斯拉NOA领航辅助驾驶的时候&#xff0c;当时兴奋的觉得未来已来;2020年在试驾蔚来NOP领航辅助驾驶的时候&#xff0c;顿时不敢小看国内新势力了;现在如果哪家…...

大模型 智能体 智能玩具 智能音箱 构建教程 wukong-robot

视频演示 10:27 一、背景 继上文《ChatGPT+小爱音响能擦出什么火花?》可以看出大伙对AI+硬件的结合十分感兴趣,但上文是针对市场智能音响的AI植入,底层是通过轮询拦截,算是hack兼容,虽然官方有提供开发者接口,也免不了有许多局限性(比如得通过特定指令唤醒),不利于我…...

Clickhouse-表引擎探索之MergeTree

引言 前文曾说过&#xff0c;Clickhouse是一个强大的数据库Clickhouse-一个潜力无限的大数据分析数据库系统 其中一个强大的点就在于支持各类表引擎以用于不同的业务场景。 MergeTree MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一…...

网络电视盒子哪个好?小编分享电视盒子品牌排行榜

电视盒子使用频率高&#xff0c;功能丰富&#xff0c;价格划算&#xff0c;是我们日常不可或缺的部分&#xff0c;小编经常会被问到与电视盒子相关的问题&#xff0c;考虑到很多朋友并不了解网络电视盒子哪个好&#xff0c;这次我来分享业内权威电视盒子品牌排行榜&#xff0c;…...

最后30天,PMP备考需要一次“认知切换”

背完所有知识点的人不一定能考过&#xff0c;但做对这三类切换的人一定能。大家好&#xff0c;我又来了。距离2026年6月14日PMP考试还有大约一个月的时间。如果看了我以前的文章&#xff0c;你已经知道这次考试很特殊——6月这场是现行考纲的绝版场次&#xff0c;之后考纲将从人…...

GPU工作负载分析与系统优化实践

1. GPU工作负载分析&#xff1a;从硬件计数器到系统优化在当今高性能计算&#xff08;HPC&#xff09;领域&#xff0c;GPU加速集群和超级计算机已成为不可或缺的计算资源。随着GPU硬件性能的不断提升&#xff0c;其暴露的硬件计数器也日益丰富&#xff0c;为深入理解GPU工作负…...

Next.js App Router 实战:从官方 Playground 探索现代 Web 开发最佳实践

1. 项目概述与定位最近在捣鼓 Next.js 的几个新特性&#xff0c;比如 Server Actions、并行路由、拦截路由这些&#xff0c;光看文档总觉得隔靴搔痒&#xff0c;想找个能上手实操、快速验证想法的环境。这时候&#xff0c;Vercel 官方维护的next-app-router-playground项目就成…...

别再死记硬背段码了!用Python脚本自动生成数码管显示码表(支持共阳/共阴)

用Python解放双手&#xff1a;动态生成数码管段码的工程实践 数码管作为电子设计中最基础的显示元件之一&#xff0c;其驱动原理看似简单却暗藏玄机。传统开发流程中&#xff0c;工程师需要反复查阅手册或记忆十六进制段码&#xff0c;这种低效模式在复杂项目中将消耗大量时间。…...

网络安全入门:2026年转行网络安全完整路径图

网络安全入门&#xff1a;2026 年转行网络安全完整路径图 导语&#xff1a;2026 年&#xff0c;网络安全人才缺口达 150 万&#xff0c;平均薪资较传统 IT 岗位高出 30%。但 70% 的转行者因路径不清晰而失败。本文详解 2026 年转行网络安全的完整路径&#xff1a;学习路线、证…...

淘金币自动化脚本:每天6分钟搞定淘宝全任务,彻底解放你的双手

淘金币自动化脚本&#xff1a;每天6分钟搞定淘宝全任务&#xff0c;彻底解放你的双手 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/…...

Perplexity Pro年度订阅最后48小时决策清单:7个必测场景+1张动态成本计算器+2024新政策下仅剩的3种合规降本路径

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity Pro订阅值不值得 核心能力对比&#xff1a;免费版 vs Pro版 Perplexity Pro 提供实时联网搜索、多文件上传解析&#xff08;PDF/DOCX/CSV&#xff09;、无限次深度追问及自定义AI工作区等…...

慕尼黑电子展:洞察汽车电子、工业物联网与功率半导体技术趋势

1. 从慕尼黑看全球电子产业&#xff1a;一场技术与商业的“双向奔赴”又到了双数年的十一月&#xff0c;全球电子工程师和产业领袖的目光&#xff0c;不约而同地再次聚焦于德国慕尼黑。没错&#xff0c;Electronica——这个被誉为全球电子元器件行业“晴雨表”的顶级盛会&#…...

SITS 2026图计算方案深度解析,独家披露金融风控与生物医药两大场景的GNN工程化适配矩阵(含12个可复用配置模板)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生图计算应用&#xff1a;SITS 2026图神经网络工程化方案 SITS 2026 是面向大规模动态图场景的AI原生图计算框架&#xff0c;深度融合GNN训练、图拓扑实时更新与边缘-云协同推理能力。其核心设计摒…...

CipherChat:基于词元替换的端到端加密大模型对话方案解析

1. 项目概述&#xff1a;当大模型对话遇上密码学最近在折腾大语言模型&#xff08;LLM&#xff09;应用开发的朋友&#xff0c;可能都遇到过同一个头疼的问题&#xff1a;如何保证用户和模型之间对话的隐私和安全&#xff1f;我们辛辛苦苦搭建的智能客服、个人助理或者创意写作…...