我已经成功地在我的开发机器上生成了jsreport。但是,在测试服务器上运行jsreport时,PhantomJS将使用默认字体。知道如何解决或排除故障吗?
我用的是把手和PhantomJS。开发机器规范: jsReport 1.0.7在节点v4.4.5上64位Win10。测试服务器规范: jsReport 1.0.7在64位Win2012 R2服务器上的Nodevx.x.x上
复制步骤:
1)将字体上传到jsReport
当选中时,jsReport建议使用它如下:{#image @encoding=base64}
2)在数据文件中添加“快捷方式”
{
"assets": {
"MavenPro-Black": "{#image MavenPro-Black}",
"MavenPro-Bold": "{#image MavenPro-Bold}",
"MavenPro-Medium": "{#image MavenPro-Medium}",
"MavenPro-Regular": "{#image MavenPro-Regular}",
"jquery": "{#image jquery}"
},
……
}
3)使用报告中的资产
<head>
<script src="{{assets.jquery}}"></script>
<style>
/* Common Classes */
@font-face {
font-family: 'Maven Pro';
src: url({{assets.MavenPro_Regular}}) format('truetype');
}
发布于 2017-02-21 15:57:28
它在本地工作的原因是因为您可能已经安装了此字体。它不能在服务器上工作的原因是您在代码中输入了错误:
您的数据包括属性MavenPro-Regular
,但在模板中使用{{assets.MavenPro_Regular}}
访问它。您只需将数据中的-
更改为_
,它就会正常工作。
工作示例
https://playground.jsreport.net/studio/workspace/SklZyycYg/9
提示1:使用text
配方并打印原始输出以解决此类问题。您将立即看到字体的url未被填充。
提示2:您应该考虑使用联合报告资产特性来嵌入字体,而不是图像扩展。您可以找到如何与description 这里一起使用它的演示。
编辑资产扩展是默认安装的一部分,自1.3.0版本以来可以被认为是稳定的
https://stackoverflow.com/questions/42359374
复制相似问题