itext html 转换pdf后 字体加粗,java - 如何使用ITEXTRenderer将HTML转换为PDF时设置新的不同字体 - 堆栈内存溢出...
我正在尝试将HTML转换为PDF。 在HTML中,有些符号未显示在PDF文档中。 在调试时,我发现&#8209或&#x2011字符在IText库中可用的任何默认字体中均不可用。 我的HTML在其字体家族中没有Arial Unicode MS,因此即使我将该字体添加到itext渲染器中也不起作用,所以我试图在创建PDF时发现我们可以使用一种字体在HTML中没有提及? HTML示例:
Sample HTML
number in case of emergency, 123‑456‑7890.
Java代码:
@Component
public class PDFConverter {
@Autowired
private Tidy tidy;
@Autowired
private ITextRenderer renderer;
@Autowired
private Gson gson;
public String pdfBox(byte[] bytes) {
byte[] outDoc = null;
String pdf = null;
try {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
String html = new String(bytes);
String xhtml = toXHTML(html);
InputStream is = new ByteArrayInputStream(xhtml.getBytes("UTF-8"));
ITextFontResolver resolver = renderer.getFontResolver();
Document doc = tidy.parseDOM(is, null);
renderer.setDocument(doc, null);
resolver.addFont("*filepath*/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.layout();
renderer.createPDF(outputStream);
outDoc = outputStream.toByteArray();
pdf = Base64.getEncoder().encodeToString(outDoc);
renderer.finishPDF();
outputStream.flush();
outputStream.close();
} catch (DocumentException | IOException e) {
e.printStackTrace();
}
return pdf;
}
private String toXHTML(String html) {
final org.jsoup.nodes.Document document = org.jsoup.Jsoup.parse(html, "UTF-8");
document.outputSettings().syntax(org.jsoup.nodes.Document.OutputSettings.Syntax.xml);
document.outputSettings().prettyPrint(false);
document.outputSettings().charset("ASCII");
document.outputSettings().escapeMode(EscapeMode.xhtml);
return document.html();
}
}
itext html 转换pdf后 字体加粗,java - 如何使用ITEXTRenderer将HTML转换为PDF时设置新的不同字体 - 堆栈内存溢出...相关推荐
- html字体加粗标签与写法
在html中字体加粗的标签为<b>标签,当我们使用了该标签,字体就会加粗,一般用于注明重要信息,强调文字上面写法如下 字体加粗:<b>这里的字体就会加粗</b> 效 ...
- java jasperReports导出PDF字体加粗失效,中文显示不出来
最近搞了一个项目,需要生成投保电子凭证的pdf文件,之前在项目也用了这个组件,只是很多年前别人开发的,我只是项目负责人而已,想起以前的项目就找了ireport这个做为生成pdf的工具.一开始捣鼓了好久 ...
- ireport1.3.2 pdf字体加粗失效的问题
问题: 在ireport中设置加粗后,预览时生效,但是导出pdf时字体没有加粗的效果 原因: 查看jasperreports-1.3.2.jar源码net.sf.jasperreports.engin ...
- jspdf添加宋体_jspdf下载pdf文件模糊,字体加粗等样式失效
jspdf下载pdf文件模糊,字体加粗等样式失效 exportPDF = () => {let { shop } = this.props; let element = document.get ...
- android 字体加粗有阴影,Android TextView高级显示技巧实例小结
本文实例总结了Android TextView高级显示技巧.分享给大家供大家参考,具体如下: 1. 自定义字体 可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而And ...
- php导出excel字体加粗,phpexcel 导出格式,字体调整
对于小数量数据(低于1000)条,如果出现导出较慢,或者网页超时,那可能是phpexcel样式文件写错地方了,可能和数据混在一起,导致较慢. 如果数据太多导致超时或者内存溢出,可添加 set_time ...
- 怎样在photoshop中把字体加粗并倒影
怎样在photoshop中把字体加粗并倒影 用这个简单的办法可以: 1.选择字体右键消除锯齿锐化 + 仿粗体 (此步骤可选 1.字打好后,点"选择"--载入选区,点确定.这时字的边 ...
- python3-xlwt-Excel设置表格基础(字体颜色 背景颜色 设置边框 边框颜色 冻结窗口 字体大小 字体高度 字体加粗 下划线 斜体字 单元格对齐方式 自动换行 删除线 超链接 插入公式)
文章目录 引入xlwt和创建workboos对象 初始化样式和创建设置字体,赋值给style 保存文件 自定义样式 字体颜色 背景颜色 设置边框 边框颜色 冻结窗口 字体大小 字体高度 字体加粗 下划 ...
- vb语言中怎样编码窗体中所有字体加粗_VB窗口属性中文对照表
VB 属性对应的中文 A Action 返回或设置被显示的对话框 (CommandDialog) 的类型 , 在设计时无效. ActiveControl 活动控件 ActiveForm 活动窗体 Al ...
最新文章
- php持续写入文件,PHP:如何读取不断写入的文件
- R语言sd函数计算数值标准差实战(Standard Deviation)
- 小结 frambuffer 原理及流程 (五)
- [20171124]手工使用Seed_Database.dfb和Seed_Database.ctl建库.txt
- 刷机包各个文件都是啥
- 【pmcaff】事件营销口碑传播疯传的秘诀在哪里?
- Docker从入门到实践笔记(一)
- 网络测试三要素 识别 验证 认证
- python鼠标拖拽功能_selenium鼠标移动、拖拽、双击、长按等操作
- 微信二次修改微信号_微信支持修改微信号了!功能正式上线,附详细教程
- IBASE change and save - Middleware related
- codechef LEMOVIE dp
- 微型计算机中最小的单位,微型计算机中最小的数据单位是
- List集合的去重问题
- kill killall pkill 的区别
- Python for Informatics 第11章 正则表达式五(译)
- 转:前端冷知识(~~some fun , some useful)
- 59. 预定义超全局变量
- Java2EE体系结构图
- java构造方法是什么_java中什么叫构造方法,作用是什么?
热门文章
- 用c语言交通信号灯论文,plc交通信号灯毕业论文.doc
- 图灵对计算机行业的贡献论文,这届图灵奖得主究竟做了什么贡献?这篇1974年的论文给了我们答案...
- 推荐系统中的pointwise和pairwise区别
- iMeta | 复杂热图(ComplexHeatmap)可视化文章最新版,画热图就引它
- CentOS7-samba文件共享服务
- 【VBA编程】VBA基础语法(二)
- 前端较好的社区,快收藏起来吧~!
- eeprom与pcf859
- etcd入门系列三:身份验证访问控制
- ZYNQ简介 | ZYNQ到底是什么?