2016-07-06 19 views
1

Ich konvertiere von MVC HTML zu Pdf mit Rotativa. In HTML sieht alles gut aus, aber im PDF-Format ist der Zeichenabstand nicht gut formatiert, da er zu klein ist. Dies reduziert die Lesbarkeit der Dokumente erheblich.Rotativa Pdf Generation respektiert nicht HTML Zeichenabstand

Im folgenden Bild ist eine Zeichenfolge in HTML:

AND

und hier ist die gleiche Zeichenfolge erzeugt mit rotativa:

enter image description here

habe ich versucht, den Zeichenabstand zu erhöhen von css, aber als ich es zu 1px änderte, sieht auf der HTML-Seite alles noch besser aus, aber in Pdf versauen alle Schnüre und gewinnen einen Abstand mehr als 10px Teilung entlang der divs und Überlappung miteinander.

fand ich, dass dies eine der rotativa Probleme sein könnte, wie in this one, die ich nicht so viel helfen, da es nur für Debian Sid-Betriebssystem gelöst wird, und ich Windows benutze, und ich habe rotativa 1.64 installiert mit Nuget.

Kennt jemand eine Fixierung für Buchstabenabstand mit Rotativa?

+0

Leider ist diese Art der Sache ist * sehr * üblich. . . Und Rotativa ist es überhaupt nicht. –

+0

@MikeRobinson kennst du einen Fix oder sogar einen Workaround dafür? – meJustAndrew

+0

Leider nicht. Sie sollten die CSS-Spezifikationen für den Schriftabstand verwenden, die Ihnen zur Verfügung stehen, und hoffen, dass die Engine sie erkennt und "das Richtige tut". Sie können auch eine andere Engine ausprobieren. (Adobe * Acrobat * Produkt ist sehr gut, und entsprechend preislich ...) Sorry, der Überbringer schlechter Nachrichten zu sein. –

Antwort

0

Ich habe dieses Problem gelöst, nachdem ich die font-family mit einem von Google importiert geändert. Die Idee kam zu mir, nachdem ich this article gelesen habe, in dem beschrieben wird, wie das Ändern font-family mit einem gegebenen durch URL ein wkhtmltopdf ähnliches Problem löste.

Der Code habe ich verwendet, um dieses Problem beheben ist die folgende:

@import url('https://fonts.googleapis.com/css?family=Open+Sans'); 
body { 
    font-family: "Open Sans"; 
}