2

我正在使用 Grails 渲染插件来生成 PDF。

我想在我的 PDF 中包含 CSS 以很好地呈现它。我在渲染插件网站上找到了一个示例

我将下面的 CSS 放在打印媒体中,以便它适用于 PDF,但这对我不起作用。我也不知道如何将字体从 Arial 更改为另一种字体。谁可以给我解释一下这个?

该插件使用带有此 CSS 的 Arial 字体:

@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;
}
4

3 回答 3

3

您需要 arialuni.ttf 而不仅仅是 arial.ttf 在这里下载:http ://www.findthatfonts.com/search-2683324-hTTF/fonts-download-search-engine-ARIALUNI.ttf.htm

然后

你必须给你的@font-face 一个这样的字体家族名称:

@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.
}

否则,您的 arialuni.ttf 没有名称,因此您不能在 css 的其他 div 中使用它。

于 2013-05-31T14:05:30.070 回答
1

下一个对我有用:

@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';
 }
于 2013-09-01T11:21:01.560 回答
0

你给字体取什么名字并不重要,只要你为你在@font-face括号之间提供的src选择一个名字,比如font-family: "SomeName";. 现在,您可以使用font-family: "SomeName".

于 2013-05-31T14:49:50.897 回答