一、背景
原先已经简单实现了excel,word,png,pdf合成一个整体pdf的过程。并将它弄到docker容器中。
1、原先入坑的技术栈
- php:7.4 (业务有涉及)
- php第三方包 setasign\Fpdi\Fpdi : 2.3.6 (pdf合并)
- libreoffice : 5.3.6.1
- ImageMagick: 6.9.10-68
2、原先存在的问题
- 合成的pdf中文只有宋体
- 合并部分pdf时,Fpdi版本过低,部分提示失败。
3、最后出坑的技术栈
- php:7.4 (业务有涉及)
- python: 3.6.8
- pypdf (python的包)
- libreoffice : 5.3.6.1
- ImageMagick: 6.9.10-68
二、入坑关键
libreoffice 是直接通过 yum install libreoffice 安装时缺少对中文包的关注
Fpdi对中文支持不友好,手动改了其他博主说的中文支持的改进,年久之后不知道如何升级版本
在执行 libreoffice 进行生成pdf时 缺少 --language=zh-CN 这个关键参数(主要是原先不了解libreoffice 有专门的语言包)
三、出坑过程
1、去除 setasign\Fpdi\Fpdi 改用python版的 pypdf
新增了一个me