2017-07-25 3 views
7

Ich versuche, Knoten-html-pdf (https://github.com/marcbachmann/node-html-pdf) Knotenmodul auf Ubuntu 16.04 zu verwenden und habe mit dem angegebenen Visitenkartenbeispiel gestartet.node-html-pdf Visitenkarte Beispiel auf Ubuntu

Leider konnte ich dieses PDF nicht erstellen.

Zuerst installierte ich das Modul lokal.

Dann kopierte ich die businesscard.html und image.png mein Projekt und versuchte, den folgenden Code ohne Änderungen in ihm auszuführen:

var fs = require('fs'); 
var pdf = require('html-pdf'); 
var html = fs.readFileSync('./test/businesscard.html', 'utf8'); 
var options = { format: 'Letter' }; 

pdf.create(html, options).toFile('./businesscard.pdf', function(err, res) { 
    if (err) return console.log(err); 
    console.log(res); // { filename: '/app/businesscard.pdf' } 
}); 

Das Ergebnis ist ein PDF mit 2 schwarzen Seiten (ok) , mit den richtigen Texten, aber das Format ist viel größer, die Schriftart ist nicht richtig und ich konnte das Bild nicht bekommen.

sieht aus wie eine Basiskonfiguration, Pfad fehlt oder ähnlich ...

Irgendwelche Hinweise?

Antwort

1

Meine Vermutung ist, dass wenn Sie diese .html Datei mit Ihrem Browser öffnen, haben Sie die gleiche (oder ähnliche) Ausgabe.

Wahrscheinlich ist die Verbindung zum Bild src unterbrochen und die Schriftart wird nicht importiert.

Vielleicht könnten Sie versuchen, Ihre eigene grundlegende HTML machen und es dann zu pdf analysieren, sollten Sie die .pdf erwarten .html

+0

Es ist kein Problem, Browser zeigt es einfach gut. Ich vermute, dass es etwas mit den grundlegenden Einstellungen, der Installation und den Parametern zu tun hat. Überraschend ist, dass es die Basisdemo des Moduls ist, ich bezweifle, dass es nicht funktioniert (da es 1500 Sterne auf Github hat). – Aleks

+0

Ich benutze dieses Modul nicht, aber beim Lesen ihres Githubs sagt es, dass es mit phantom.js funktioniert, also ist das .pdf wahrscheinlich ein Screenshot des gerenderten '.html', und die Konfiguration, die du gepostet hast, scheint ok, kannst du bitte hinzufügen der Code von ''/ test/businesscard.html'' zu deiner Frage? –

+0

Hier ist der HTML-Code für dieses Beispiel: https://github.com/marcbachmann/node-html-pdf/blob/master/example/businesscard.html Ich habe auch versucht, {{image}} mit direktem Bildnamen zu ersetzen, aber es hat nicht geholfen. Wie ich sagte, sind Buchstaben und Größen nicht gut. – Aleks

1

Eine Lösung für die ähnlich zu sein: versuchen Sie die Schriften insatalling im pdf aufgeführt ...