我正在使用Grails渲染插件生成PDF。
我想在我的PDF中包含CSS来很好地渲染它。我在渲染插件网站
上找到了一个例子我把下面的CSS放在印刷媒体中,以便它适用于PDF,但这对我不起作用。我也不知道如何将字体从Arial改为另一种字体。有人能给我解释一下吗?
插件使用Arial字体,CSS:
@font-face {
src: url(path/to/arial.ttf);
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: cp1250;
}
body {
font-family: "Arial Unicode MS", Arial, sans-serif;
}
您需要arialunit .ttf,而不仅仅是arialunit .ttf,在这里下载:http://www.findthatfonts.com/search-2683324-hTTF/fonts-download-search-engine-ARIALUNI.ttf.htm
然后你必须给你的@font-face一个像这样的font-family名称:
@font-face {
font-family: "Font-Name";
src: url(path/to/font.ttf); // you have to add your font.ttf file to the server in a folder like assets/css/fonts or something.
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: cp1250;
}
body {
font-family: "Font-Name", Arial, sans-serif; // you called your font Font-Name in the @font-face so now you can use it as Font-Name everywhere else in you css.
}
否则你的arialunit .ttf没有名字,所以你不能在css的其他div中使用它
下一个对我来说很好:
@font-face {
font-family: 'Calibri';
src: url(${grailsApplication.config.grails.serverURL}/fonts/calibri.ttf);
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
-fs-pdf-font-encoding
应设置在Identity-H
中。在它之后你可以添加像
body {
font-family: 'Calibri';
}
给字体取什么名字并不重要,只要在@font-face括号之间为src选择一个名字就行,比如font-family: "SomeName";
。现在,你可以在任何地方使用font-family: "SomeName"
字体