问题起因
由于字体版权等问题,有大量的OFD文档中未嵌入字体,只是进行了字体声明。这给OFD文档的预览显示带来很大的麻烦。
通常处理方案
| 环境 | 解决方案 | 问题 |
|---|---|---|
| Windows | 直接调用系统字体 | |
| Linux | 复制Windows系统下字体 | 版权问题 |
| Web端 | 复制Windows系统下字体到服务器,自动下载到客户端 | 版权问题;字体文件大,用户体验差 |
XDOC的处理方案
XDOC基于Java自研了OFD渲染引擎。在服务器端使用开源字体将OFD渲染为PDF后,在WEB端进行显示。服务器端使用开源字体无版权问题,WEB端直接显示嵌入字体后的结果。
渲染过程中遇到的比较大问题是由于西文字体的宽度不同,导致文本出现重叠。XDOC的解决方法是利用文本【DeltaX】属性,做字体宽度自适应。
更好的方法是直接用开源等宽西文字体进行渲染。
效果展示
这个文档渲染使用到的开源字体有:思源宋体、思源等宽(西文)、文鼎PL简中楷。
可以打开view.xdocin.com,亲自试试OFD预览效果