在我开始使用 PDFKit 在 Rails 中从 HTML 创建 PDF 之前,我成功地嵌入了 Google 字体,如下所示:
= stylesheet_link_tag 'http://fonts.googleapis.com/css?family=Rokkitt:400,700'
但是,PDFKit 没有在我的 PDF 中嵌入字体。它使用我的打印样式表生成 PDF 并格式化,但使用常规字体,而不是我嵌入的字体。
因此,我将每种字体的 EOT、WOFF、TTF 和 SVG 版本放入/app/assets/fonts
并在我的屏幕调用的新字体样式表中切换到这种格式并打印样式表:
@font-face {
font-family: 'rokkittregular';
src: font-url('rokkitt-regular-webfont.eot');
src: local('rokkittregular')
font-url('rokkitt-regular-webfont.eot?#iefix') format('embedded-opentype'),
font-url('rokkitt-regular-webfont.woff') format('woff'),
font-url('rokkitt-regular-webfont.ttf') format('truetype'),
font-url('rokkitt-regular-webfont.svg#rokkittregular') format('svg');
font-weight: normal;
font-style: normal;}
同样,这对于我的常规 HTML 页面来说效果很好。同样,PDFKit 没有在我的 PDF 中嵌入字体。
假设这可能与 PDFKit 无法找到字体有关,我创建了一个单独的打印字体样式表以嵌入到我的打印样式表中。在其中,我切换到了这个符号:
@font-face {
font-family: "rokkittregular";
src: url("/assets/rokkitt-regular-webfont.eot");
src: url("/assets/rokkitt-regular-webfont.eot?#iefix") format("embedded-opentype"),
url("/assets/rokkitt-regular-webfont.woff") format("woff"),
url("/assets/rokkitt-regular-webfont.ttf") format("truetype"),
url("/assets/rokkitt-regular-webfont.svg#rokkittregular") format("svg");
font-weight: normal;
font-style: normal;}
后来到这个符号:
@font-face {
font-family: "rokkittregular";
src: url("#{Rails.root}/assets/rokkitt-regular-webfont.eot");
src: url("#{Rails.root}/assets/rokkitt-regular-webfont.eot?#iefix") format("embedded-opentype"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.woff") format("woff"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.ttf") format("truetype"),
url("#{Rails.root}/assets/rokkitt-regular-webfont.svg#rokkittregular") format("svg");
font-weight: normal;
font-style: normal;}
仍然没有用。
奇怪的是,如果您将浏览器指向http://localhost:5000/assets/rokkitt-regular-webfont.eot
,它会将您带到字体文件。
我怎样才能让这些字体在 PDFKit 中工作?