2017-09-07 12 views
0

HTMLファイルをPDFファイルにレンダリングする際に問題があります。コマンドラインに2つの引数を渡します。最初は、HTMLの入力ファイルと第二PDF出力phantomjs - HTMLをPDFにレンダリングする

/var/bin/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /var/www/nodejs/html_to_pdf.js /root/input.html /root/hello.pdf 

コード

var page = require('webpage').create(), 
    args = require('system').args, 
    f = require('fs').open(args[1], 'r'); 

page.paperSize = { 
    format : 'A4', 
    orientation : 'portrait', 
    margin : { 
     top : '1cm', 
     left : '1cm', 
     bottom : '1cm', 
     right : '1cm' 
    } 
}; 

page.content = f.read(); 
page.setContent(page.content, page); 
page.render(args[2]); 
phantom.exit(); 

エラーが返され、出力なしのPDFファイルですか?ここで

は、入力ファイル

http://www.filedropper.com/input_3

答えて

1

である私はpage.openにファイルの書き換えをお勧めしたい:

var page = require('webpage').create(); 
var args = require('system').args; 
var fs = require('fs'); 

function getFileUrl(str) { 
    var pathName = fs.absolute(str).replace(/\\/g, '/'); 
    // Windows drive letter must be prefixed with a slash 
    if (pathName[0] !== "/") { 
    pathName = "/" + pathName; 
    } 
    return encodeURI("file://" + pathName); 
}; 

page.paperSize = { 
    format : 'A4', 
    orientation : 'portrait', 
    margin : { 
     top : '1cm', 
     left : '1cm', 
     bottom : '1cm', 
     right : '1cm' 
    } 
}; 

page.open(getFileUrl(args[1]), function(){ 
    page.render(args[2]); 
    phantom.exit(); 
}); 

enter image description here

getFileUrlthis answer

からです
関連する問題