谷歌搜索几个小时后,我仍然无法在Odoo生成的PDF中显示自定义字体 . 非常感谢,非常感谢!这是完整的故事 .
我创建了一个继承account.report_invoice_document的自定义报告 . 这是必需的,因为定制发票以显示额外信息(例如,协调系统代码摘要) . 我还被要求使用自定义字体来自定义发票的布局 .
在这个模板中,我添加了一个内联样式表并将font-face应用于整个文档:
<style>
@font-face {
font-family: 'My Font';
font-weight: normal;
font-style: normal;
src: url(data:font/opentype;charset=utf-8;base64,d09GRg<!--[ LONG BASE64 STRING ]-->DN6ag4) format('woff'),
url(data:font/truetype;charset=utf-8;base64,AAEAAA<!--[ LONG BASE64 STRING ]-->moOA==) format('truetype');
}
html, body
{
font-size: 8;
font-family: 'My Font';
}
</style>
调整发票报告以生成HTML,我能够在浏览器的屏幕上获得预期的结果(假设我的计算机上没有安装运行浏览器的字体) . 按“打印”按钮通过wkhtmltopdf导出与PDF文件相同的报告我收到了包含正确数据的发票,但没有正确的字体系列或大小 .
我测试的东西没有成功:
-
仅使用WOFF
-
仅使用TTF
-
同时使用WOFF和TTF
-
直接PDF生成,主要不在屏幕上显示HTML
-
在样式中添加.mytest类并将其应用于特定的html标记
仍然相同:在屏幕上确定,不像PDF文件那样预期 .
对于实验,还试图包括Material Icon如下:
<style>
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url('data:font/truetype;charset=utf-8;base64,AAEA<!--[ LONG BASE64 STRING ]-->ABc=') format('truetype');
}
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
}
</style>
然后在模板中的某处添加它 .
<span>TEST <i class="material-icons"></i></span>
与上述相同:在屏幕上运行良好并显示“TEST”一个笑脸图标,部分在PDF上工作,仅显示没有脸部图标的TEST .
我被困在那儿 . 有人可以帮忙吗?
谢谢 .