ItextPdf 字体显示差异分析与处理

news2024/12/24 20:23:13

ItextPdf 同span下字体显示差异分析与处理

在文章itext7 字体问题解答与相应源代码分析 中是分析了框架的字体设置与相关代码,在本篇文章里将对其生效效果进行分析和相关问题进行处理(可持续更新,问题请留言)

问题一

问题说明:

对于html结构为

<span class="" style="font-family: times new roman,simsum;">
123不会重复1234567
</span>

渲染出来的效果 为 最前面"123" 是新罗马字体,后面的"不会重复1234567"都是宋体。 我们想要的是优先进行字符集[times new roman]判断,不在里面的,按字符集[simsum]渲染。 而这种效果也是浏览器上的字符显示效果,如下图
在这里插入图片描述

源码分析

这里还是先去ComplexFontSelectorStrategy类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

处理方法

这边提供两种处理思路

  1. 根据他的显示逻辑,我们需要把不同显示效果的文本进行分割存放
<span class="" style="font-family: times new roman;">
	123
	<span class="" style="font-family: simsum;">
		不会重复
	</span>
	1234567
</span>

各自显示各自的
2. 修改框架代码,不一次获取多个连续字符,判断一次获取一个。这样根据font-family配置的先后效果进行显示了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将无风险资产与两种风险资产进行组合

目录 最优风险资产组合。 计算权重的公式。 应用。 最优风险资产组合。 曲线 AB 是两种风险资产的权衡取舍线。 A 点为资产组合中仅有风险资产 1 的情况。将 O 点与 A 点相连&#xff0c;便得到无风险资产与单个风险资产的权衡取舍线。 实际上&#xff0c;曲线 AB 上任一点…

【青训营】分布式理论初探

本文内容总结自 字节跳动青年训练营 第五届后端组 分布式理论初探 一、概述 分布式系统是计算机程序的集合&#xff0c;这些程序利用横跨多个独立计算节点的计算资源实现共同目标&#xff0c;可分为分布式计算、分布式存储、分布式数据库。 其优势是&#xff1a;去中心化、…

ESP32设备驱动-TEA5767收音机模块驱动

TEA5767收音机模块驱动 1、TEA5767介绍 TEA5767HN 是一款用于低压应用的单芯片电子调谐 FM 立体声收音机,具有完全集成的中频 (IF) 选择性和解调功能,频率范围从76—108MHZ自动数字调谐。 该收音机完全无需调整,高灵敏度,高稳定性,低噪音,收音模块。只需要最少的小型低…

Win10安装MySQL、Pycharm连接Mysql、Pycharm中运行django

目录 一、windows系统mysql相关操作 1、检查当前系统是否已安装mysql 1. 按win r 键&#xff08;调出运行窗口&#xff09; 2. 输入service.msc&#xff0c;点击[ 确定 】 3.打开服务列表 - 检查是否有mysql服务 2、windows安装mysql 1.下载mysql 2. 解压 mysql 到自己…

【面试题:三个线程轮流打印A ,B,C】

面试题&#xff1a;三个线程轮流打印A &#xff0c;B&#xff0c;C面试介绍说明思考方案代码实现Print 打印基类APrint 打印字符A 线程CPrint 打印字符C 线程PrintConstant 常量类StrRun 启动类测试结果总结面试介绍说明 当时是2022 年3月 在深圳面试的一家公司。由于疫情比较…

内网渗透(三)之基础知识-域环境的介绍和优点

系列文章 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 注&#xff1a;阅读本编文章前&#xff0c;请先阅读系列文章&#xff0c;以免造成看不懂的情况&#xff01;&#xff01; 域介绍 域的介绍 Windows域是计算机网络的一种形式&#…

DMTet 阅读笔记

介绍 主页 https://nv-tlabs.github.io/DMTet/论文pdf https://nv-tlabs.github.io/DMTet/assets/dmtet.pdf视频汇报 https://slideslive.com/38967642/deep-marching-tetrahedra-a-hybrid-representation-for-highresolution-3d-shape-synthesis?refhomepage疑似代码 在nvdi…

【手写 Promise 源码】第十八篇 - EventLoop 简介

theme: fancy 一&#xff0c;前言 近期公司项目比较忙&#xff0c;粘了老博客几篇 Spring 源码来充数&#xff0c;周末腾出时间把 Promise 做个收尾&#xff1b; 在开始 EventLoop 前&#xff0c;我对 Promise 源码部分进行了简单回顾&#xff0c;并更新了【Promise 源码学习…

【链表面试题】解决环形链表和相交链表问题

在力扣上发现这样的几道题&#xff0c;尝试做了一下&#xff0c;也发现了一个关于这类题的一种做法&#xff1a;快慢指针的使用。废话不多说&#xff0c;上例题 目录 一、环形链表 1.定义&#xff08;概念&#xff09; 2.如何判断是否为环形链表 1.快慢指针 2.为什么快指针…

限期出国|CSC资助赴世界top50名校英国曼彻斯特大学访学

我们先为J老师40天获得佐治亚理工学院&#xff08;美国三大理工学院之一&#xff09;的访问学者邀请函&#xff0c;又成功申报CSC。后因其担心被美国拒签要求重新申请英国名校&#xff0c;10天后拿到跻身世界top50英国曼彻斯特大学的offer&#xff0c;后经ATAS审批、CSC改派、使…

linux基本功系列-help命令实战

文章目录前言&#x1f680;&#x1f680;&#x1f680;一. help命令介绍二. 语法格式及常用选项三. 参考案例3.1 显示某个命令的帮助信息3.2 查看某个命令的简述3.3 以伪man手册格式输出cd信息四. windows中的help总结前言&#x1f680;&#x1f680;&#x1f680; 想要学好Lin…

车载网络 - Autosar网络管理 - 基本概念

Autosar作为当前车载行业使用最为广泛的一种汽车开发系统架构&#xff0c;网上也有很多相关的介绍&#xff1b;不过我看很多有完整的来讲一下这个规范的&#xff0c;一般都是只讲了其中一部分&#xff0c;我这就准备搞出来一套完整版本的Autosar网络管理的规范、测试设计、自动…

新C++(7):多态那些事儿_下

"当人类悬浮到腐朽&#xff0c;有谁愿追随彗星漂流哦~"一、多态原理(1)虚函数表指针(虚表指针)紧接上一篇sizeof(Base)这一小段说起。class Base1 { public:void func(){} private:int _a; };class Base2 { public:virtual void func() {} private:int _a; };我们知道…

【我刚毕业,学习Java开发工程师能学会吗?没有基础?】

对于Java专业来说&#xff0c;学历还是有一定的要求。一般都是本科学历&#xff0c;至少也有个大专&#xff0c;其次就是年龄越年轻越好。现在转行Java的年轻人很多&#xff0c;学历这方面越高越有竞争力一些&#xff0c;尤其是在后期的职业晋升阶段。如果想走管理路线&#xf…

耗时一周整体,这4款黑科技电脑软件,功能强大到离谱

闲话少说&#xff0c;直上狠货。 1、有道云笔记 有道云这是一款国民级的文稿编辑器&#xff0c;俗话说得好&#xff0c;好记性不如烂笔头&#xff0c;强大实用的笔记软件&#xff0c;能让你的工作与学习事半功倍。5大文稿类型&#xff0c;让记录得心应手&#xff0c;随时进行创…

第十四章 集合(Set)

一、Set 接口&#xff08;P518&#xff09; 1. Set接口基本介绍 &#xff08;1&#xff09;无序&#xff08;添加和取出的顺序不一致&#xff09;&#xff0c;没有索引 &#xff08;2&#xff09;不允许重复元素&#xff0c;所以最多包含一个 null 2. Set接口的常用方法 和 …

SpringBoot中MQ使用

本文记录学习在Spring Boot中使用MQ。一 什么是MQMQ全称&#xff08;Message Queue&#xff09;又名消息队列&#xff0c;是一种异步通讯的中间件。它的作用类似于邮局&#xff0c;发信人(生产者)只需要将信(消息)交给邮局&#xff0c;然后由邮局再将信(消息)发送给具体的接收者…

博途1200PLC/1500PLCMODBUS从站通信应用

博途PLC作为MODBUS主站通信请参看下面的文章链接: 博途PLC 1200/1500PLC MODBUS-RTU通讯优化(状态机编程)_博途plc modbus-rtu通信优化_RXXW_Dor的博客-CSDN博客博途PLC 1200/1500PLC MODBUS-RTU通讯_RXXW_Dor的博客-CSDN博客_博图modbus通讯1、1200PLC的modbus通讯,可以参看…

HTTP协议(1)

1)HTTP协议是倾向于相遇业务层次上面的一种协议&#xff0c;传输层协议主要考虑的是端对端之间的一个传输过程&#xff0c;TCP重点进行关注的是可靠传输&#xff1b;咱们的HTTP/1&#xff0c;HTTP/2是基于TCP的&#xff0c;但是咱们的HTTP/3是基于UDP的&#xff0c;但是当下的互…

实战动态代理

代理模式介绍代理模式有点像老大和小弟&#xff0c;也有点像分销商。主要解决的是问题是为某些资源的访问、对象的类的易用操作上提供方便使用的代理服务。而这种设计思想的模式经常会出现在我们的系统中&#xff0c;或者你用到过的组件中&#xff0c;它们都提供给你一种非常简…