PdfKitJS在window7下遇到问题
发布于 2 年前 作者 DevinXian 1515 次浏览 最后一次编辑是 10 个月前 来自 问答
  1. 需求:html转换成pdf。github翻了翻,开始用phantomjs-pdf模块,发现img标签文件url不能识别。于是改用pdfkitjs

  2. 找了台CentOS没问题,已经各种角度测试。可是…公司开发测试环境都是window 7~

  3. 使用pdfkitjs,实则底层调用 wkhtmltopdf这个流弊的东东。那么问题在window7出现了…

  4. 64位的怎么搞都不行,于是尝试32位,cmd一切OK,对应的html也转换成pdf;但是…使用nodejs调用怎么着都不行,总是那个经典的错误- - -

    Exec wkhtmltopdf d:\test.html d:\test.pdf    //这应该是运行的实际命令
    { [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' } //这是错误信息	
    
  5. 附上32位CMD运行正常的实例:

    >wkhtmltopdf d:\test.html d:\test.pdf
    Loading pages (1/6)
    Counting pages (2/6)
    Resolving links (4/6)
    Loading headers and footers (5/6)
    Printing pages (6/6)
    Done
    
  6. 附上nodejs测试代码:

    var PDFKit = require('pdfkitjs');
    pdfKit = new PDFKit('file', 'd:\\test.html');
    
    pdfKit.toFile('d:\\test.pdf', function (err, file) {
    	if (err) {
    		return console.error(err)
    	}
    	console.log('File ' + file + ' written');
    });
    //duang~就出现了上面这个错误~
    //PS:我知道大家大部分都是linux,所以很怀疑这个问题解决的必要性...
3 回复

当你发现遇到的坑不是node坑,而是windows坑的时候,你就对windows无爱了

@luicfer 我本来就对windows无爱,我认为window存在的唯一理由就是可以玩玩dota~~

结题,问题解决了,可能是环境变量的问题。我更新环境变量之后,重启机器,竟然OK了!第一次发现这奇怪的情况…

回到顶部