使用Windows stdout使用Node Js(node-wkhtml)损坏png的wkhtmltoimage。还有另一种保存文件的方法吗?

时间:2012-11-25 06:08:09

标签: windows node.js wkhtmltopdf wkhtmltoimage

我试图通过nodejs和node-wkhtml包使用wkhtmltoimage将一些html转换为png。

我能够没有和有问题的pdf。然而,当我尝试制作一个png而不是一个pdf时,png只是颜色带而不是它应该是什么颜色。项目网站上的This reported bug与我所看到的非常相似(除了我正在尝试编写png并且报告了png的错误)。

似乎只有在Windows上使用stdout时才会出现此问题。有工作吗? 有没有办法在不使用stdout的情况下保存文件?

var fs = require('fs');
var wkhtml = require('node-wkhtml'),
    createWriteStream = require('fs').createWriteStream;

var MyClass = module.exports = function()
    {
    var png = wkhtml.spawn('png');
    png.stdout.pipe(createWriteStream('node_doc.png'));
    png.stdin.end('<h1>Hello World</h1>');
    }

new MyClass();

1 个答案:

答案 0 :(得分:1)

我最终放弃了stream和node-wkhtml。我现在只是编写一个临时html文件并使用spawn调用wkhtmltoimage。不太理想,不得不制作临时文件,但它正在发挥作用。

child_process.spawn( 'wkhtmltoimage', [ 'temp.html', 'output.png' ] );