环境
本机环境Mac,转换环境Linux。
本机Mac和Linux均装有 `Arial` 和 `Times New Roman` 字体(从PDF编辑软件看到此PDF中的主要字体)
转换代码
spire库版本 e-iceblue:spire.office:5.3.2
代码
- Code: Select all
final PdfDocument pdf = new PdfDocument();
pdf.loadFromFile(src);
pdf.saveToFile(dst, com.spire.pdf.FileFormat.DOCX);
结果
A. 直接对源文件 `case-01.pdf` 进行转换,得到 `case-01.docx` ,结果为:
1)出现4种字体: Arial,Times New Roman Italic-QWVTR, Times New Roman-PHLJT 和 Times New Roman
2)Arial和Times New Roman的文本正常
3)Times New Roman Italic-QWVTR 字母部分正常、阿拉伯数字部分显示为乱码
4)Times New Roman-PHLJT 基本都是乱码
5)如果手工在Word中将 Times New Roman Italic-QWVTR 改为 Times New Roman (无后缀)结果不变(阿拉伯数字无法正常显示),但改为 Google 的 Noto Sans 则显示正常
6)如果手工在Word中将 Times New Roman-PHLJT 改为 Times New Roman (无后缀)则所有字母均正常显示
B. 若尝试使用Mac的预览工具编辑文件(例如删除其中一页)得到 `case-01-mac-preview-edited.pdf`,转换后得到 `case-01-mac-preview-edited.docx`,则转换后所有字体全部变成乱码,且无法通过修改字体来恢复
以上4份文件见附件