使用Document template转PDF中文无法显示的解决方法
DannyChuang
2022.01.07 15:51发布于技术 - 新手入门
730

在使用Document template输出PDF时遇到了中文无法正常显示的问题
中文全部变成####号
如下:

1641537712(1).png
原因是因为字型不支持的问题
参考https://docs.mendix.com/refguide/style#custom-fonts-for-pdf-documents

解法如下:
(1). 将可支持中文的字型档复制到APP专案\resources资料夹中,
字型档(.ttf)可以从网路上下载 或 windows>控制台>外观及个人化>字型 中寻找

(2).将Mendix安装文件夹下\runtime\lib\fop.xconf 档案也复制到APP专案\resources资料夹中

1641538683(1).png(3). 将新字型添加至fop.xconf文件中:
      Step1: 以记事本或其他文字编辑器开启fop.xconf档案
      Step2: 找到<font>....</font>标签位置,并添加如下xml格式
      注:embed-url要换成新的字型,档名name可自行命名

1641539472.png

格式如下(必须小写):

<font kerning="yes" embed-url="mycustomfont.ttf">
    <font-triplet name="myfont" style="normal" weight="normal"/>
</font>

如想斜体或粗体可修改style及weight属性,如下:

<font kerning="yes" embed-url="mycustomfontinboldanditalic.ttf">
   <font-triplet name="myfont" style="italic" weight="bold"/>
</font>

(4). 将Document template中Style的font-family换成新的字型样式:
      假设步骤(3)中  font-triplet name="myfont"
      则在Custom Styles中填入:

font-family: myfont;

1641540372(1).png如想显示多种字型,那也可以在单独设定Style

1641541813(1).png

(5). 重新运行后即可正常显示

 

其他方法:
其实个人觉得Mendix的Document template使用起来不是那么方便
如果只是想输出PDF档案(而不是Word),其实可以使用Print screen to PDF这个widget

1641541379(1).png


可以直接将页面画布转成PDF,更直观方便,但官方Marketplace中下载的有一点小bug,
无法正常显示部分chart,
但已有高手解决了此问题,详见
https://forum.mendix.tencent-cloud.com/ask/63eaab44e5694ef491f04e57a46912ac

 

首赞
收藏
手机查看
举报
0个回复
倒序看帖
仅看楼主
楼层直达

暂无数据