java生成pdf字体的坑

摘要:
java生成的pdf字体有很多漏洞,尤其是字体。这里安装字体的坑主要记录了教程cd/usr/share/fonts/mkdircinesecchinesecp/root/simhei。ttfsimhei。在pit上找到的用于安装字体的ttf字体被上传到根用户目录cp/root/simsun。ttfsimsun。ttf#字体被上传到根用户目录mkfontscale mkfontdirfc缓存中。fv字体在此处导入,但发现生成的pdf将包含没有换行符的文本,并将转换为tiff图像,不显示中文字符。因为开发环境是windows,测试环境是linux。然后在Windows下确实没有问题,所以我仍然认为代码没有问题。问题仍然在于字体。重建并验证。
java生成pdf字体的坑

做过java生成pdf的应该都知道有很多坑,特别是字体。

这里就记录一下字体的问题。

  1. 系统必须安装字体,项目的resources目录放置了要用到的中文字体,宋体和黑体。并在代码中进行了引用。但是实际发现系统仍然需要安装字体。

  2. 安装字体的坑

这里主要记录一下安装字体的坑

网上找到的教程

cd /usr/share/fonts/
mkdir chinese
cd chinese
cp /root/simhei.ttf simhei.ttf # 字体上传在root用户目录下
cp /root/simsun.ttf simsun.ttf # 字体上传在root用户目录下
mkfontscale
mkfontdir
fc-cache -fv

这里确实导入了字体,但是使用发现,生成的pdf会有文字不换行,以及转成tiff图片后,汉字均不显示的问题。

因为开发环境是windows,测试环境是linux(开发经常遇到环境的问题)。然后真的是windows下没有问题,所以还是觉得代码没有问题,问题还是出在字体上。

继续寻找linux字体的教程,发现有一个教程多一个步骤

chmod -R 755 /usr/share/fonts/chinese

赶紧在测试服务器上看一下文件权限

[root@shtplybremake01 share]# cd fonts
[root@shtplybremake01 fonts]# ll
total 16
drwxr-x---  2 root root   91 Nov 17 15:39 chinese
drwxr-xr-x. 2 root root 4096 Jul 20 15:51 google-droid
drwxr-xr-x. 2 root root 8192 Jul 20 15:53 urw-base35

果然chinese和其他2个目录不一样。接着按照教程修改权限。重新生成并验证。

[root@shtplybremake01 fonts]# chmod -R 755 chinese/
[root@shtplybremake01 fonts]# ll
total 16
drwxr-xr-x  2 root root   91 Nov 17 15:39 chinese
drwxr-xr-x. 2 root root 4096 Jul 20 15:51 google-droid
drwxr-xr-x. 2 root root 8192 Jul 20 15:53 urw-base35

免责声明:文章转载自《java生成pdf字体的坑》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android Studio 使用小技巧和快捷键SAP:更改标准屏幕字段显示名称——文本增强下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

opencv视觉系统开发教程资料下载

opencv视觉系统开发教程资料下载 转 https://bbs.52iss.com/forum.php?mod=viewthread&tid=3995&extra=opencv对于编程绝对是一个好东西。opencv的意思是开放源代码计算机视觉类库(open source computer vision library),未来研究人工智能可...

office 2021 最新版详细安装教程,附激活方法

office 2021 在测试阶段的时候,盘哥就分享过一个用office Tools 工具安装的方法,不过现在正式版已经出来有一段时间了,也没来得及更新文章。 今天就来写一篇关于office 2021 最新专业增强版的安装和激活教程。今天的这个教程比较简单,直接安装即可,不需要安装前的配置。但只适用于Windows10及以上的系统。 office2021(...

TCPDF说明文档

TCPDF说明文档 一、首先调用TCPDF文件require_once('tcpdf.php'); 二、实例化TCPDF类 页面方向(P =肖像,L =景观)、测量(mm)、页面格式$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false); 三、设置文档信息设置文档信息----文件创作者 $pdf-&...

前端实现在线预览pdf、word、xls、ppt等文件

最近在做一个公司的资源管理系统,一些知识小记一下。 1、前端实现pdf文件在线预览功能 方式一、pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面。在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览 <a href="http://t.zoukankan.com/文档地址"></a> 方式二...

MySQL更改数据库数据存储目录

MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录。下文总结整理了实践过程的操作步骤。 1:确认MySQL数据库存储目录 [root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir Enter...

WPF使用Winform PDFView控件

最近开发wpf项目中有一个模块需要显示PDF文件内容。由于WPF本身没有PDF加载控件(似乎有收费的我查到过类似的资料。如果有新的pdf控件也请通知我一下谢谢)。 项目使用之前也是从网上获取的资料,因此接下来的控件命名和项目命名完全沿用原文档。具体地址忘记了。这样也好感谢原作者。 不过里面的逻辑根据项目实际应用做了变工 。每人理解不同为了大家更快更好地的使...