Ich verwende wicked_pdf mit Rails 3.2.11 und Ruby 1.9.3, um eine PDF aus HTML zu generieren und zu Heroku bereitzustellen.Wicked PDF + Fonts + heroku + rails3.2
Mein 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;
}
wo app_fullhost
die genaue Host ist, in der Entwicklung oder Produktion.
Mein pdf Layout umfasst unter anderem:
%html{:lang => I18n.locale}
%head
%meta{:charset => "utf-8"}
%title= content_for?(:title) ? yield(:title) : Settings.app_name
= wicked_pdf_stylesheet_link_tag "pdf"
In production.rb habe ich
config.assets.precompile +=%w(pdf.css)
Dies ohne Probleme in der Entwicklung funktioniert, aber auf Heroku die PDF-Datei nicht geladen die gewünschte Schrift
config.assets.paths << "#{Rails.root}/app/assets/fonts"
config.assets.precompile += %w(*.svg *.eot *.woff *.ttf)
config.assets.precompile += %w(.svg .eot .woff .ttf)
und ich habe auch versucht, zu ändern (in pdf.css.scss.erb):
@font-face {
font-family:'Dosis'; font-style:normal; font-weight:500;
src: url('Dosis-Medium.ttf') format('woff');
}
oder
@font-face {
font-family:'Dosis'; font-style:normal; font-weight:500;
src: url(<%= asset_path('Dosis-Medium.ttf')%>) format('woff');
}
Ich habe auch verschiedene Lösungen wie das Hinzufügen dieser in production.rb versucht
Die Schriften sind in assets/fonts
und auch in public/app/font/dosis
und uRL auf Heroku reagieren richtig mit:
..//myapp/app/font/dosis/Dosis-Medium.ttf" and
..//myapp/assets/Dosis-Medium.ttf
Wie kann ich die Schrift auf Heroku laden?
Dies funktioniert auf jeden Fall, meine einzige Zusätzlich dazu wäre zu verwenden [Font Squirell Generator ] (http://www.fontsquirrel.com/tools/webfont-generator), um die Base64-Daten zu erhalten. –
Die ursprüngliche Website-Ressource, die ich verlinkt hatte, ist offline gegangen. Sie können Font Squirrel oder [** dieses Tool **] (http://www.opinionatedgeek.com/dotnet/tools/base64encode/) verwenden, wenn Sie nicht-Font Squirrel-Schriftarten verwenden. –
Haben Sie irgendwelche Vorbehalte gegen mehrere Base64-codierte @ font-face-Einträge in einer Datei gefunden? –