Xpdf 是用来处理和转换 PDF 的利器。项目中需要将 PDF 转换为图片,但是发现有的 PDF 文档转换缺失字体,而且下载 ttf 格式的字体也不起作用,于是到官方文档才发现还需要配置字库,而且官方给出的是 pfb 格式的字库,根据说明配置好后问题迎刃而解。压缩包附带语言包、语言包配置文件、官网下载的原文件,解压后可直接运行。
2021-05-27 15:56:55 15.11MB Xpdf 中文语言包 PDF 字体报错
1
# 安装执行脚本 # 上传centos7-mini-google-chrome-install.sh文件放到用户目录~下 $ cd ~ $ chmod -Rf 755 centos7-mini-google-chrome-install.sh $ ./centos7-mini-google-chrome-install.sh # 执行命令即可实现html保存为pdf $ google-chrome --no-sandbox --user-data-dir --headless --disable-gpu --print-to-pdf-no-header --print-to-pdf=/tmp/baidu.pdf https://baidu.com # 解决问题 java实现html转pdf,传统实现方式为pdfbox或itext,这两种方式都存在中文乱码、外部css样式加载问题; google浏览器无头模式,完美实现html转pdf; 一键安装sh,解决 html转pdf中文方框乱码问题; # java调用google-chrome-headless实现html转pdf: Runtime.getRuntime().exec("google-chrome --no-sandbox --user-data-dir --headless --disable-gpu --print-to-pdf-no-header --print-to-pdf=保存到本地pdf文件路径 远程html的url或本地html文件");
2021-04-29 22:03:31 4KB java centos7 google-chrome headless
# 安装执行脚本 # centos7-mini-xpdf-install.sh文件放到用户目录~下 $ cd ~ $ chmod -Rf 755 centos7-mini-xpdf-install.sh $ ./centos7-mini-xpdf-install.sh # 执行命令即可pdf转png图片 $ pdftopng pdf文件全路径 png图片输出文件夹 # 解决问题 java实现pdf转png图片,传统实现方式为pdfbox或icepdf,这两种方式都存在中文乱码问题; xpdf为C++实现pdf转png,开源免费,完美实现pdf转png,无中文乱码问题,内嵌自定义字体的pdf(复制文本出来变乱码)也能正常转换; 一键安装sh,解决 执行命令pdftopng报字体找不到问题;编译xpdf源码生成pdftopng可执行文件,解决官方下载tool包不能实现linux各种环境包依赖问题; 脚本中把centos7的yum install命令修改为alpine下的apk add命令 同样也适用于alpine中生成docker镜像; # java调用xpdf实现pdf转png图片: Runtime.getRuntime().exec("pdftopng pdf文件全路径 png图片输出文件夹");