我试图在Rails 3网站上使用wicked_pdf在
HTML到PDF生成的PDF文件中使用特定字体.我在这里找到了我遵循的其他建议. (主要)对我来说唯一的事情是将字体转换为base64.我在这里找到了原来的答案:
Wicked PDF +fonts+heroku+rails3.2
Wicked PDF +fonts+heroku+rails3.2
我不得不将@ font-face CSS直接放入正在使用它的部分文件中,而不是将其放入样式表中,以使其正常工作.它现在在我的本地副本中正常工作.当我将其部署到我们的分段服务器时,它只有一半的功能.其中一种字体加载,但粗体版本的字体不加载.
这是@ font-face CSS我包含在部分(this pastebin包括整个Base64代码在机会,它是有用的):
<style type="text/css"> @font-face { font-family: 'MuseoSans300'; src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAA...excess text removed); } @font-face { font-family:'MuseoSans700'; src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAA...excess text removed); } </style>
使用这些字体的常规样式表(使用SASS)的样式如下所示:
#profile_pdf { font-family: 'MuseoSans300'; h1 { font-size: 30px; font-family: 'MuseoSans700'; } h2 { font-size: 20px; font-family: 'MuseoSans300'; } }
我试过改变这种方式.我使用与此建议相同的格式:
http://blog.shahariaazam.com/use-google-web-fonts-for-wkhtmltopdf-tools/#.UtwZUmQo5hE
这使得它完全停止工作.
使用我上面显示的格式,它可以在我的本地运行副本上工作.在登台服务器上只有一种字体可以工作;它只加载300版本中的所有东西,700版本不加载.有没有人遇到这个问题?
解决方法
我与Wicked PDF有类似的问题.我解决它的方式是通过定义一个字体家族,每个重量我想要的目标.看起来像这样:
@font-face { font-family: 'Karla'; font-weight: 400; font-style: normal; src: ...; } @font-face { font-family: 'Karla-Bold'; font-weight: 700; font-style: bold; src: ...; }
我相信您需要明确指定字体重量数字才能正确显示粗体版本.我的问题和你的问题是一样的.