1

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 で動作させるにはどうすればよいですか?

4

1 に答える 1

0

解決策は、印刷スタイルシートでフォントを呼び出す方法を変更することでした:

h1 {font-family: "rokkittregular";}

いいえ

h1 {font-family: "Rokkitt", serif;}
于 2013-03-13T05:38:47.127 に答える