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

Itext生成pdf文件,html转pdf时中文一直显示不出来

 之前使用freemark模板渲染ftl页面,转出的pdf中,css2有些样式好像不支持,比较常用的居中样式都没有效果,text-align:center
改造成使用html页面来转pdf,css2的样式可以生效,itext是不支持css3的弹性布局的ITextRenderer pdfRenderer = new ITextRenderer();// 添加字体设置ITextFontResolver fontResolver = pdfRenderer.getFontResolver();/*  fontResolver.addFont("C:/Windows/Fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);fontResolver.addFont("C:/Windows/Fonts/simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
*/try {fontResolver.addFont("C:/Windows/Fonts/simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);/*String path = ResourceUtil.getResourceObj("classpath:/fonts/SimSun.ttf").getUrl().getPath();*//*fontResolver.addFont(path, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);*//*fontResolver.addFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
*/} catch (Exception e) {log.error(e.getMessage(),e);}pdfRenderer.setDocumentFromString(createXHtml(rowsHtml));/* File f= getFileFromResources();pdfRenderer.setDocument(f);*/pdfRenderer.layout();pdfRenderer.createPDF(outputStream);

尝试好多种方式,最后可能是跟字体有关系

字体设置为C:/Windows/Fonts/simhei.ttf  黑体,同时html页面上样式要添加

body {font-family: SimHei;
}

pdf生成方式参考项目:E:\myfiles\project\github\demo-html2pdf

字体问题参考文章:https://blog.51cto.com/u_15127651/4527950

最后完美解决字体问题!!

相关文章:

Itext生成pdf文件,html转pdf时中文一直显示不出来

之前使用freemark模板渲染ftl页面,转出的pdf中,css2有些样式好像不支持,比较常用的居中样式都没有效果,text-align:center 改造成使用html页面来转pdf,css2的样式可以生效,itext是不支持css3的弹性布局的ITextRenderer pdfRendere…...

题目 1138: C语言训练-求矩阵的两对角线上的元素之和

问题描述: 求矩阵的两对角线上的元素之和 样例输入: 3 1 2 3 4 5 6 7 8 9 样例输出: 25 问题分析: 因为奇数阶矩阵的主对角线和副对角线上的元素有重复,偶数阶矩阵的主对角线和副对角线上的元素无重复&#x…...

第6讲自定义icon实现

自定义icon实现 component下新建SvgIcon目录&#xff0c;再新建index.vue 定义svg-icon组件 <template><svg class"svg-icon" aria-hidden"true"><use :xlink:href"iconName"></use></svg> </template>&…...

花费200元,我用全志H616和雪糕棒手搓了一台可UI交互的视觉循迹小车

常见的视觉循迹小车都具备有路径识别、轨迹跟踪、转向避障、自主决策等基本功能&#xff0c;如果不采用红外避障的方案&#xff0c;那么想要完全满足以上这些功能&#xff0c;摄像头、电机、传感器这类关键部件缺一不可&#xff0c;由此一来小车成本也就难以控制了。 但如果&a…...

AUTOSAR OS TASK

什么是TASK? 我们在裸机中跑代码,程序永远只能单活动流水执行,当程序需要等待的时候,CPU就一直在waiting状态,无法高效的利用CPU,这个时候就引入了并发运行需求。一个系统能同时执行多个不同活动的系统叫做并发系统。其中这个系统中的每个并发执行的活动都由TASK(任务)…...

陇剑杯 2021刷题记录

题目位置&#xff1a;https://www.nssctf.cn/上有 陇剑杯 2021 1. 签到题题目描述分析答案小结 2. jwt问1析1答案小结 问2析2答案小结 问3析3答案 问4析4答案 问5析5答案 问6析6答案 3. webshell问1析1答案 问2析2答案 问3析3答案 1. 签到题 题目描述 此时正在进行的可能是_…...

前端常见的设计模式

说到设计模式&#xff0c;大家想到的就是六大原则&#xff0c;23种模式。这么多模式&#xff0c;并非都要记住&#xff0c;但作为前端开发&#xff0c;对于前端出现率高的设计模式还是有必要了解并掌握的&#xff0c;浅浅掌握9种模式后&#xff0c;整理了这份文章。 六大原则&…...

OpenAI视频生成模型Sora的全面解析:从ViViT、扩散Transformer到NaViT、VideoPoet

前言 真没想到&#xff0c;距离视频生成上一轮的集中爆发(详见《Sora之前的视频生成发展史&#xff1a;从Gen2、Emu Video到PixelDance、SVD、Pika 1.0》)才过去三个月&#xff0c;没想OpenAI一出手&#xff0c;该领域又直接变天了 自打2.16日OpenAI发布sora以来(其开发团队包…...

3个密码学相关的问题

一、离散对数问题&#xff08;Discrete Logarithm Problem, DLP&#xff09; 问题描述&#xff1a;给定 有限阿贝尓群 G中的2个元素a和b&#xff0c;找出最小的正整数x满足&#xff1a;b a ^^ x &#xff08;或者证明这样的x不存在&#xff09;。 二、阶数问题&#xff08;O…...

5G网络eMBB、uRLLC、mMTC

ITU&#xff08;国际电信联盟&#xff09;于2015年9月正式定义了5G的三大应用场景&#xff1a;eMBB&#xff08;增强型移动宽带&#xff09;、uRLLC&#xff08;低时延高可靠通信&#xff09;、mMTC&#xff08;海量物联网通信&#xff09;。 eMBB是4G MBB&#xff08;移动宽带…...

matplotlib图例使用案例1.1:在不同行或列的图例上添加title

我们将图例进行行显示或者列显示后&#xff0c;只能想继续赋予不同行或者列不同的title来进行分类。比较简单的方式&#xff0c;就是通过ax.annotate方法添加标签&#xff0c;这样方法复用率比较低&#xff0c;每次使用都要微调ax.annotate的显示位置。比较方便的方法是在案例1…...

nginx 日志改为json格式

nginx 日志改为json格式 场景描述效果变更旧样式新样式 场景描述 正常使用nginx时&#xff0c;使用默认的日志输出格式&#xff0c;对于后续日志接入其他第三方日志收集、清洗环节&#xff0c;因分隔符问题可能不是很友好。 xxxx - - [19/Feb/2024:11:16:48 0800] "GET …...

【DDD】学习笔记-应用服务

Eric Evans 为运用领域驱动设计的系统架构划定了层次&#xff0c;在领域层和展现层之间引入了应用层&#xff08;Application Layer&#xff09;&#xff1a;“应用层要尽量简单&#xff0c;不包含业务规则或者知识&#xff0c;而只为下一层&#xff08;指领域层&#xff09;中…...

【医学大模型】MEDDM LLM-Executable CGT 结构化医学知识: 将临床指导树结构化,便于LLM理解和应用

MEDDM LLM-Executable CGT 结构化医学知识: 将临床指导树结构化&#xff0c;便于LLM理解和应用 提出背景对比传统医学大模型流程步骤临床指导树流程图识别临床决策支持系统 总结解决方案设计数据收集与处理系统实施临床决策支持 提出背景 论文&#xff1a;https://arxiv.org/p…...

YOLOV8改进系列指南

基于Ultralytics的YOLOV8改进项目.(69.9) 为了感谢各位对V8项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程 专栏改进汇总 二次创新系列 ultralytics/cfg/models/v8/yolov8-RevCol.yaml 使用(ICLR2023)Reversible Column Networks对yolov8主干进行重设计,里…...

FlinkSql一个简单的测试程序

FlinkSql一个简单的测试程序 以下是一个简单的 Flink SQL 示例&#xff0c;展示了如何使用 Flink Table API 和 Flink SQL 进行基本的数据流处理。 定义数据实体 CC &#xff1a; - CC 类表示数据流中的元素&#xff0c;包含两个字段&#xff1a; character &#xff08;字符&a…...

二、ActiveMQ安装

ActiveMQ安装 一、相关环境二、安装Java8三、下载安装包四、启动五、其他命令六、开放端口七、后台管理 一、相关环境 环境&#xff1a;Centos7.9安装ActiveMQ版本&#xff1a;5.15.9JDK8 二、安装Java8 安装教程&#xff1a;https://qingsi.blog.csdn.net/article/details/…...

通俗易懂的L0范数和L1范数及其Python实现

定义 L0 范数&#xff08;L0-Norm&#xff09; L0 范数并不是真正意义上的一个范数&#xff0c;因为它不满足范数的三角不等式性质&#xff0c;但它在数学优化和信号处理等领域有着实际的应用。L0 范数指的是向量中非零元素的个数。它通常用来度量向量的稀疏性。数学上表示为…...

如何在30天内使用python制作一个卡牌游戏

如何在30天内使用python制作一个卡牌游戏 第1-5天&#xff1a;规划和设计第6-10天&#xff1a;搭建游戏框架第11-20天&#xff1a;核心游戏机制开发第21-25天&#xff1a;游戏界面和用户体验第26-30天&#xff1a;测试和发布附加建议游戏类型游戏规则设计界面设计技术选型第6-…...

VsCode指定插件安装目录

VsCode指定插件安装目录 VsCode安装的默认目录是在用户目录(%HomePath%)下的.vscode文件夹下的extensions目录下&#xff0c;随着安装插件越来越多会占用大量C盘空间。 指定VsCode的插件目录 Vscode安装目录&#xff1a; D:\Microsoft VS Code\Code.exeVscode插件安装目录&a…...

GeoAI实战:如何用Python和QGIS打造智能交通预测系统(附代码)

GeoAI实战&#xff1a;如何用Python和QGIS打造智能交通预测系统&#xff08;附代码&#xff09; 最近在帮某省会城市优化公交调度系统时&#xff0c;发现传统GIS工具处理实时交通数据就像用算盘计算火箭轨道——理论可行但实操吃力。这促使我探索出一套结合QGIS可视化优势与Pyt…...

Boost电路与SMC滑模控制策略:文章复现及性能优化探讨

boost电路&#xff0c;smc滑模控制&#xff0c;文章复现Boost电路在电力电子里算是老熟人了&#xff0c;但真要玩转它的闭环控制可不容易。最近在复现一篇用滑模控制&#xff08;SMC&#xff09;搞Boost电路的论文&#xff0c;实测发现这货对付负载突变确实有两把刷子。今天咱们…...

你的Selenium爬虫被‘环境调试’弹窗卡住了吗?试试先清理浏览器缓存和Cookie

Selenium爬虫环境指纹污染解决方案&#xff1a;从缓存清理到浏览器隔离 环境指纹污染&#xff1a;爬虫开发者面临的新挑战 上周三凌晨3点&#xff0c;我的自动化数据采集系统突然发出警报——所有Selenium爬虫实例同时失效&#xff0c;目标网站清一色返回"环境异常"提…...

hdl_localization实战:在ROS Melodic下,如何不依赖IMU实现16线激光雷达的稳定定位?

无IMU环境下16线激光雷达的hdl_localization实战指南 在机器人自主导航领域&#xff0c;定位系统是核心组件之一。传统方案通常依赖IMU&#xff08;惯性测量单元&#xff09;与激光雷达的融合&#xff0c;但在实际工程中&#xff0c;IMU数据可能存在噪声大、校准困难或硬件缺失…...

番茄小说下载器:全能解析引擎驱动的一站式数字阅读解决方案

番茄小说下载器&#xff1a;全能解析引擎驱动的一站式数字阅读解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 在数字阅读日益普及的今天&#xff0c;读者们常面临三大…...

主动配电网短期负荷预测与网络重构优化分析:基于IEEE33节点的实证研究

主动配电网短期负荷预测重构 以IEEE33节点为算例&#xff0c;有迭代图&#xff0c;各个节点在重构前的电压幅值及重构前后电压幅值的对比图&#xff0c;优化前后网络损耗数值对比&#xff0c;重构优化开断支路具体情况&#xff0c;以及在具体某节点处接入分布式电源的容量。 有…...

Maya Arnold前台渲染无响应问题排查与解决

1. Maya Arnold前台渲染无响应问题排查指南 最近在Maya中使用Arnold渲染时&#xff0c;不少朋友都遇到了前台渲染无响应的问题。点击渲染按钮后&#xff0c;Render View窗口毫无反应&#xff0c;就像什么都没发生过一样。这种情况在动画场景整合阶段尤其常见&#xff0c;我自己…...

OpCore-Simplify:智能配置黑苹果EFI的自动化工具开源方案

OpCore-Simplify&#xff1a;智能配置黑苹果EFI的自动化工具开源方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款专为黑苹果…...

RCTD实战:5步搞定单细胞与空间转录组数据整合(附避坑指南)

RCTD实战&#xff1a;5步搞定单细胞与空间转录组数据整合&#xff08;附避坑指南&#xff09; 在单细胞测序技术蓬勃发展的今天&#xff0c;空间转录组数据正成为解析组织微环境的新利器。但一个spot包含多个细胞的"混合信号"问题&#xff0c;让许多研究者对着珍贵的…...

Vue项目本地部署神器:phpStudy+nginx配置全流程(支持多项目同时运行)

Vue项目本地部署神器&#xff1a;phpStudynginx配置全流程&#xff08;支持多项目同时运行&#xff09; 每次在本地调试Vue项目时&#xff0c;你是否也遇到过这样的困扰&#xff1f;项目打包后需要部署到服务器才能预览效果&#xff0c;但配置nginx对前端开发者来说又太过复杂。…...