Java使用itextpdf生成上下标(化学符号,数学表达式)
目录
上下标展示问题
但是使用segoeuisl.ttf字体又没法展示中文
如何合并?
FontCreator实现字库合并_东风wangjk的博客-CSDN博客_fontcreator合并字体
itextpdf自定义上下标
上下标展示问题
在生成PDF的时候,自己百度搜的上下标以及特殊符号正常存入数据库,但是PDF上面没有展示,这是因为所使用的的字体包中不包含上下标
数据库中:
PDF中:
D
D
D
如上下标没有展示
在windows字符集下有字符集segoeuisl.ttf 可以正常显示,目录为C:\Windows\Fonts
因此对于需要特殊显示的字符可以用这个字体测试: windows下测试代码为
BaseFont specialChinese = BaseFont.createFont("C:\\Windows\\Fonts\\segoeuisl.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);specialFont = new Font(specialChinese, 10, Font.NORMAL);
但是使用segoeuisl.ttf字体又没法展示中文
如果想要同时展示上下标和中文,我们需要将字体合并,将segoeuisl.ttf和simfang.ttf(Windows下的仿宋)进行合并
下面有我合并好的字体,下载就可以立即使用
合并后的字体下载:https://pan.baidu.com/s/1IZz8bAsMITtuknVTvvy52g
提取码:1111
如何合并?
我使用的是字体合并工具 FontCreator.exe
合并工具 FontCreator.exe百度网盘链接: https://pan.baidu.com/s/12PRO-SZsQxGlRdNinnHUIA
提取码:1111
合并教程:
FontCreator实现字库合并_东风wangjk的博客-CSDN博客_fontcreator合并字体
itextpdf自定义上下标
如果一个上下标百度也搜索不到该如何在PDF上展示,可以使用以下方法
public void createPdf(String dest) throws IOException, DocumentException {Document document = new Document();PdfWriter.getInstance(document, new FileOutputStream(dest));document.open();Font small = new Font(FontFamily.HELVETICA, 6);Chunk st = new Chunk("st", small);st.setTextRise(7);Chunk nd = new Chunk("nd", small);nd.setTextRise(7);Chunk rd = new Chunk("rd", small);rd.setTextRise(7);Chunk th = new Chunk("th", small);th.setTextRise(7);Paragraph first = new Paragraph();first.add("The 1");first.add(st);first.add(" of May");document.add(first);Paragraph second = new Paragraph();second.add("The 2");second.add(nd);second.add(" and the 3");second.add(rd);second.add(" of June");document.add(second);Paragraph fourth = new Paragraph();fourth.add("The 4");fourth.add(rd);fourth.add(" of July");document.add(fourth);document.close();
}
itextpdf官网有很多示例,基本上你的需求例子都有
官方所有示例地址:https://kb.itextpdf.com/home/it5kb/examples
官方上下标示例地址:How to introduce superscript?
Java使用itextpdf生成上下标(化学符号,数学表达式)相关推荐
- java用itextPDF生成PDF文件保存至本地并上传至ftp服务器
标题java用itextPDF生成PDF文件保存至本地并上传至ftp服务器 所需jar :itext-asian-5.2.0.jar,itextpdf-5.5.5.jar,commons-net-3. ...
- java使用itextpdf生成PDF批量打印荣誉证书(指定位置输出文字)
最近公司项目有个需求,批量打印荣誉证书,一开始尝试过传统的网络打印,控件打印,JS调用浏览器打印方法,遇到各种问题,比如定位不准,分页问题,缩放问题等.然后就自己研究,整理了一套打印方案,项目已测 ...
- Java使用itextpdf生成PDF文件,用浏览器下载
浏览器下载生成PDF文件 1.引入jar包 <dependency><groupId>com.itextpdf</groupId><artifactId> ...
- Java通过itextpdf生成PDF
通过Java生成PDF我用的是itextpdf,需要引入的pop坐标如下 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpd ...
- java使用itextpdf生成pdf并填充自定义数据
项目中有个需求,对于已有的数据生成对应的发票pdf或者合同pdf,这些pdf具有一些特性,就是pdf有固定的格式,类似于表格,我们只要往表格里面填充数据即可.当然,也会涉及到签章,二维码等需求. 总体 ...
- java使用itextpdf生成pdf文档指定图片印章位置
项目结构 1.引包 <dependencies><!-- itextpdf--><dependency><groupId>com.itextpdf< ...
- java如何使显示字符下标_Java如何在 Word 中设置上、下标
上标是指比同一行中其他文字稍高的文字,而下标是指比同一行中其他文字稍低的文字.在生活中,我们常见的平方米.立方米等符号以及化学中的各种元素符号,都是利用上.下标来表示的.本文将介绍通过Free Spi ...
- 自带公式编辑_公式都是怎么编辑出来的?如何打出公式上下标符号?
相比较Word自带公式编辑器,专业公式编辑器有更多.更复杂的符号模板,这样避免了鼠标重复性的操作和翻找查阅,节省了我们很多时间.下面小编教大家如何用公式编辑器打出上下标做个展示: 亿图公式编辑器轻松打 ...
- Word上下标符号怎么打
在Word中编辑文本的时候,尤其编辑数学或化学习题或试卷时,需要为某些字符设置上标或者下标,比如水的分子式. 常用的方法是:首先选中这些字符,然后打开"格式"菜单,选中" ...
最新文章
- 学习网页制作中如何在正确选取和使用 CSS 单位
- python中的装饰器decorator
- Qt-在控件上绘图的方式
- wowbl最优势的服务器,CWOW中BL为什么远远多于LM一个新手之见
- QT+PCL+VTK 一个点云显示和处理软件
- Oracle SGA优化
- 利用MATLAB对数据进行切片并绘制图表
- 基于SVM的手写字体识别
- Vue+D3实现直方图与力导向图
- PAAS(platform as a serverce,平台即服务)
- 如何设置苹果Mac菜单栏的时间与日期显示
- 在DNS服务器上动态注册失败,活动目录向DNS注册SRV记录不成功的原因
- 模式识别学习笔记-lecture2-统计判别1
- 探索多维数据极端值处理方法
- 【Vue入门实践】Element-UI 树形组件el-tree的组件封装 =>实现组织机构树Tree => 使用vue-content-menu定制可编辑树结构editableTree
- 权游播完了, 你在骂烂尾, 有人却悄悄解锁了新操作……
- 原始传奇手游服务器不显示,原始传奇闪退黑屏怎么办 原始传奇闪退黑屏解决办法-游侠手游...
- java+ssm+mysql+企业考勤管理系统
- Day133.尚品汇:项目介绍、Linux软件环境部署、项目环境搭建、表设计
- 'RPC服务器不可用' 解决方法