Ich versuche PhantomJS zu verwenden, um eine HTML-Seite in PDF zu rendern. Ich möchte nicht die Dateien auf die Festplatte schreiben, ich habe die HTML im Speicher, und ich möchte die PDF im Speicher.PhantomJS: Pipe-Eingang
Mit der ausgezeichneten Antwort von Pooria Azimi bei this question kann ich das PDF von einer Named Pipe bekommen. Wenn ich dasselbe am anderen Ende versuche (indem ich die Eingabedatei durch eine Named Pipe ersetze), lande ich mit einem leeren PDF. Diese
ist, was ich tue jetzt (vereinfacht):
mkfifo in_pipe.html out_pipe.pdf
./phantomjs rasterize.js in_pipe.html out_pipe.pdf
Dann in einem anderen Terminal:
echo '<center>hey!</center>' > in_pipe.html
cat out_pipe.pdf > out.pdf
Die Datei out.pdf wird erstellt, aber leer ist. Fehle ich etwas?
Dies ist eigentlich etwas, das ich schon probiert, und fand, dass es nicht funktioniert hat. Nach dem Herunterladen der neuesten Version funktioniert es jedoch tatsächlich. Vielen Dank! – mads
Anstatt setTimeout zu verwenden, wäre es nicht besser, das Ereignis "load" zu verwenden? Auf diese Weise wissen Sie, dass alles geladen ist. – oligofren