Я использую wicked_pdf с рельсами 3.2.11 и ruby 1.9.3 для создания PDF файла из HTML и развертывания в Heroku.
Мой файл pdf.css.scss.erb:
<% app_fullhost = Constants["app_fullhost"] %>
@font-face {
font-family:'DosisMedium'; font-style:normal; font-weight:500;
src: url(<%=app_fullhost%>/app/font/dosis/Dosis-Medium.ttf) format('woff');
}
*, body {
font-family: "DosisLight", 'Times New Roman', 'Arial', sans-serif;
}
где app_fullhost
является точным хозяином, в разработке или производстве.
Мой макет PDF включает в себя, среди прочего:
%html{:lang => I18n.locale}
%head
%meta{:charset => "utf-8"}
%title= content_for?(:title) ? yield(:title) : Settings.app_name
= wicked_pdf_stylesheet_link_tag "pdf"
В production.rb у меня есть
config.assets.precompile +=%w(pdf.css)
Это работает без проблем в разработке, но на Heroku файл pdf не загружает нужный шрифт. Я также пробовал различные решения, такие как добавление их в production.rb:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
config.assets.precompile += %w(*.svg *.eot *.woff *.ttf)
config.assets.precompile += %w(.svg .eot .woff .ttf)
и я также попытался изменить (в pdf.css.scss.erb):
@font-face {
font-family:'Dosis'; font-style:normal; font-weight:500;
src: url('Dosis-Medium.ttf') format('woff');
}
или
@font-face {
font-family:'Dosis'; font-style:normal; font-weight:500;
src: url(<%= asset_path('Dosis-Medium.ttf')%>) format('woff');
}
Шрифты находятся в assets/fonts
, а также в public/app/font/dosis
, а URL-адрес Heroku правильно отвечает:
..//myapp/app/font/dosis/Dosis-Medium.ttf" and
..//myapp/assets/Dosis-Medium.ttf
Как я могу загрузить шрифт на Heroku?