富文本转pdf,html转pdf,itext转pdf(解决中文显示问题)

本文介绍了如何使用iText框架将包含HTML的富文本转换为PDF,强调了处理中文显示问题、样式应用以及解决在非Windows系统上字体问题的策略。在转换过程中,需要注意HTML标签的完整性和字体资源的正确引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要

项目中,管理员需要编辑合同模板,客户根据模板填写信息后,系统生成pdf文件上传到远程端。我们的合同模板在项目中用的是富文本编辑,存储到数据库中是带有html标签的字符串。
html可以直接转为pdf,网上有很多工具/框架。也有人分析了各种工具的优劣。可自行搜索。这里使用的是iText框架

坑点

1.富文本编辑器编辑的文本是带有样式的,一定切记切记要前端把编辑器的样式文件给你!!!否则转换后的pdf没有样式
2.远程服务器(非win系统)中文显示不出来的问题,就是字体的问题。网上搜有三种方式,我这的处理是将1)win10系统的字体文件拷贝出来,放到项目的资源文件夹中,2)代码引入字体,3)在html的body标签加上字体<body style="font-family: SimSun;">(字体可以换成其他的)
3.本地生成的pdf打开没问题,但上传到远程服务器后打不开。我怀疑是因为生成pdf后该文件被占用,没有及时释放该File 对象,导致上传的pdf被破坏。我的解决方式是将上传文件步骤与生成pdf分别写到两个方法,暂时这么处理(哪位大佬知道原因的可以告诉下嘛?)
4.itext转换pdf,对标签的要求比较高。html文件的标签一定要有头有尾,像<br>要转换成<br/>
5.报没有document的错误时(具体错误信息忘了),首先考虑字体名称是不是写错了。

1 数据准备

富文本编辑页面
富文本内容
保存到数据库是这样的

<p class="ql-align-center"><strong>内容测试</strong></p><p><strong>甲方(出租方) :</strong></p><p><strong>乙方(承租方) :</strong></p><p>甲乙双方就乙方租赁甲方电梯轿厢设置看板媒体(以下简称“看板”)、刊发广告一</p><p>事进行友好协商,达成以下条款,双方共同执行:</p><p class="ql-align-center"><strong>第一条租赁地点</strong></p><p>甲方同意将市区花园(大厦/小区)共部电梯租赁给乙方设置看板,刊发广告。</p><p class="ql-align-center"><strong>第二条设置方式和范围</strong></p><p>1、看板设置于电梯轿厢壁上(超薄型,厚度不超过2cm、长度:、宽度: ;),用</p><p
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值