2014-01-19 3 views
11

Ich versuche, eine bestimmte Schriftart in einer HTML zu PDF-generierten PDF-Datei mit bred_pdf auf einer Rails 3-Website zu verwenden. Ich habe hier einen anderen Rat gefunden, dem ich gefolgt bin. Das einzige, was (meistens) für mich funktionierte, war das Konvertieren der Schriften in base64. Ich fand die ursprüngliche Antwort hier: Wicked PDF +fonts+heroku+rails3.2Base64 @ font-face Schriftart mit wicked_pdf Generator

Ich hatte direkt in die Teil-Datei, um den @ font-face CSS zu setzen, die es wurde mit anstatt sie in ein Stylesheet, um es setzen zu arbeiten. Es funktioniert jetzt gut in meiner lokalen Kopie. Wenn ich es auf unserem Staging-Server bereitstellen, funktioniert es nur zur Hälfte. Einer der Schriftarten wird geladen, aber die Fettschrift der Schriftart wird nicht geladen. Hier

ist die @ font-face CSS I im Teil enthalten (this pastebin den gesamten Base64-Code in der off-Chance beinhaltet, dass es sinnvoll ist):

<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> 

Die Stile aus dem regulären Stylesheet (mit SASS), die diese Schriftarten in etwa so aussehen:

#profile_pdf { 
    font-family: 'MuseoSans300'; 
    h1 { 
    font-size: 30px; 
    font-family: 'MuseoSans700'; 
    } 
    h2 { 
    font-size: 20px; 
    font-family: 'MuseoSans300'; 
    } 
} 

ich das eine Vielzahl von Möglichkeiten versucht haben, zu verändern. Ich habe die gleiche Formatierung wie dieser Rat verwendet: http://blog.shahariaazam.com/use-google-web-fonts-for-wkhtmltopdf-tools/#.UtwZUmQo5hE

Das machte es einfach aufhören, vollständig zu arbeiten.

Mit der oben gezeigten Formatierung funktioniert es auf meiner lokal ausgeführten Kopie. Auf dem Staging-Server funktioniert nur eine der Schriftarten. es lädt alles nur in der 300-Version und die 700-Version lädt nicht. Ist jemand anderes auf dieses Problem gestoßen?

+0

Was ist in Ihren Entwicklungs- und Staging-Umgebungen anders? Bedeutung ... wenn es in der Entwicklung funktioniert, haben Sie wahrscheinlich alles richtig eingerichtet. Vielleicht braucht das Staging env ein paar Feinabstimmungen. – davekaro

+0

Ich habe genau das gleiche Problem, ist Ihre Staging Env auf Heroku per Zufall? –

+0

Ich denke, das hat etwas mit Vorkompilierung der Vermögenswerte zu tun. Wenn Sie lokal vorkompilieren, replizieren Sie das Staging-Problem? Es hat für mich getan. –

Antwort

0

ich in der URL Teil denken, sollte es /assets/..... statt /font sein, wenn Ihr Ihr sie unter Vermögen vergeben, da Schienen alles in Assets zusammenstellen

1

ich ein ähnliches Problem mit Wicked PDF hatte. Die Art und Weise, wie ich es gelöst habe, war, eine Schriftfamilie mit jedem Gewicht zu definieren, auf das ich zielen wollte. Es sah aus wie so:

@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: ...; 
} 

Ich glaube, Sie müssen die Schriftstärke Nummer explizit angeben, um es richtig die fette Version zeigen zu lernen. Mein Problem war identisch mit deinem und das hat es für mich behoben.

+0

Schriftart: fett; - Ja wirklich? – comonitos