pd4ml中文乱码解决-手动添加字体文件
String path = request.getSession().getServletContext().getRealPath("");
pd4ml.useTTF(path+"\\fonts", true);
pd4ml是什么我就不用多说了,首先它是商业软件,要去下jar包是非常困难的,目前我就找到了3个非试用的(试用的转换出来左下角会有水印,pd4ml_demo就是试用的)。你要转换中文,首先pd4ml版本必须是pro(官网说的),
PD4ML.getVersion(); // 静态方法,查看pd4ml版本
pd4ml.enableDebugInfo(); //开启转换调试信息
如果调试信息有找字体文件的,说明你的jar包就是pro的
'simsun bold' is not in file:***********reject TTF lookup for: 'simsun bold'
开始用了310的包,用的fonts字体包,中文倒是能解决,但是版本太低,不支持浮动、定位和display,以至于两个块级元素不能放在同一行,于是找了个高版本的(370),虽然支持这些,但是又与低版本的fonts.jar不兼容,中文显示乱码,无耐只好自己解决乱码,资源包在最下面。
首先到项目Web-Info目录下,新建一个fonts文件夹,把字体文件(.ttf)复制进去,再把pd4ml-370fx2pro.jar复制进去,此时还没有配置文件,在fonts文件夹里打开cmd命令行:
java -jar pd4ml-370fx2pro.jar -configure.fonts ../fonts ../fonts
然后就会生成两个配置文件,
在JAVA代码里,将以前的用jar包读取字体的代码
pd4ml.useTTF(”java:fonts", true);
改为
String path = request.getSession().getServletContext().getRealPath("");
pd4ml.useTTF(path+"\\fonts", true);
重新部署项目后,如果报 ..\fonts\simsun.ttc (系统找不到指定的路径。) 错误,说明已经能读取配置文件了,打开生成的pd4fonts.properties配置文件
把最下面的一行 font.dir.location=../fonts 删除,再部署项目,就能识别中文了!
需要注意的是,HTML代码声明字体时,尽量用英文,比如
font-family:"宋体";
要写成
font-family: "SimSun";
下面是对照表:
下载链接: 点我
jar包:包含 pd4ml-310b10.jar+fonts.jar,pd4ml-323b2.jar,pd4ml-370fx2pro.jar,ss_css2.jar,
及390pro、381pro、3100pro(最新版本)的试用版及其官方文档
说明:ss_css2.jar必须导入,fonts.jar只是配合310使用解决中文乱码,高版本的fonts.jar包,楼主小白还没弄,你们可以去试试
pd4ml中文乱码解决-手动添加字体文件相关推荐
- pd4ml中文乱码解决
问题:linux服务器上运行springboot项目,使用pd4ml生成pdf时,中文乱码. 解决方法 项目根目录下创建文件夹fonts, 并将pd4ml-1.0.0 对应的jar包和.tff 字体文 ...
- 解决Ubuntu下matplotlib中文乱码问题-以添加宋体:simsun为例
解决Ubuntu下matplotlib中文乱码问题-以添加宋体:simsun为例 先从simsun官网上下载宋体字体库 : 查看matplotlib配置文件位置: import matplotlibp ...
- [Ubuntu18.04遇到的问题及解决办法]缺失字体如何手动添加字体
@[TOC][Ubuntu18.04遇到的问题及解决办法] 缺失字体如何手动添加字体 大家在使用Ubuntu时,可能会遇到系统缺失字体的问题,比如,安装WPS会提示缺失simsun,wingdings ...
- Kylin 10 安装达梦数据库 图形界面乱码 最小修正解决(一个字体文件)
Kylin 10 安装达梦数据库 图形中文界面乱码 最小修正解决(一个字体文件) 一. Kylin 10 测试图形界面(无xclock,xmanager passive模式) 二. Kylin 10 ...
- Pandas导出CSV文件中文乱码解决方法
问题描述: 使用to_csv方法导出CSV文件,文件出现中文乱码 解决方法: 在使用to_csv时在参数中加入参数encoding='utf_8_sig' 关于原理,请参考以下文章: utf-8和ut ...
- Web前端——VScode打开html文件中文乱码解决办法
VScode打开html文件中文乱码解决办法 1.打开VScode后,依次点击 文件 >> 首选项 >> 设置 2.打开设置后,依次点击 文本编辑器 >> 文件(或 ...
- 初次使用Ubuntu18.04遇到的问题——笔记2(Ubuntu18.04 缺失字体如何手动添加字体+Ubuntu18.04 右键怎么添加新建空白文本文件+Ubuntu18.04 如何创建文件夹的快)
目录 碎碎念: Ubuntu18.04 缺失字体如何手动添加字体 首先需要找到缺少的字体文件: 找到缺失的字体文件后的添加过程: 1. 找到字体位置 2. 拷贝字体 3. 建立字体索引信息并更新缓存 ...
- putty 中文乱码解决方法
putty 中文乱码解决方法 方法一: 打开putty主程序,选择window-〉Appearance-〉Font settings-〉Change...,选择Fixedsys字体,字符集选择CHIN ...
- 【转】QT中使用MYSQL中文乱码解决方法
[转]QT中使用MYSQL中文乱码解决方法 Linux下乱码解决办法: 1.在QT程序的main.cpp的main函数中添加红色字那三句: int main(int argc, char *argv[ ...
最新文章
- VTK修炼之道7_三维场景基本要素:光照
- GraphPad Prism 的统计显著性报告中*或**或**的含义是什么?
- GDCM:串联/提取DICOM文件的测试程序
- Java与C#平台通信 WCF CXF SOAP
- 集群环境下的Session共享
- String.valueOf()
- 量子计算机功率,量子计算功耗知多少
- Python进阶_mysql(1)
- chrome浏览器导出书签 如何导入收藏夹
- turtle模块还能这样玩?(一条条金龙鱼、雨景)
- android 中LayoutInflater 的使用
- Ubuntu下安装-有道词典
- js高程读书笔记(1-3章)
- 静态库与动态库的区别与优缺点
- 苹果macOS 13 Ventura beta版如何转成正式版?如何将 MacOS Beta 版更新为正式版?
- 三星Galaxy S21系列5G手机竟成了《天赐的声音》舞台上最亮的星?
- UVA 1646 Edge Case
- 【python基础】python中常用字符串函数详解
- linuxoracle图形界面无法跳出_Linux 7图形化安装Oracle或者其他软件,打不开图形界面的问题 | 信春哥,系统稳,闭眼上线不回滚!...
- innodb和myISAM 1075