2017-07-20 6 views
0

私はcss、jquery、nodejs(ejsとexpress)を使用してウェブサイトを作成していますが、テキストを含むdivと背景画像を含むdivをイメージとしてエクスポートする必要があります(jpgまたはpng)が最高ですがpdfです。私はhtml2canvasを使用しようとしましたが、nodejsと互換性がないと読んでいます。 私はjspdfでも試しましたが、pdfファイルのcssは書き出しません。 nodejを使って解決できる解決策を誰かが知っているかどうかを知りたいと思います。ここでnodejsを使用したhtml2canvasと同様のソリューション

は私EJSコードのexempleです:

<%for(var j = 0; j < rawData.scanner.length; ++j) {%> 
<div class="grid" id="grid-<%= data.scanner[j].camera%>" 
    style=" 
    width : <%= parseFloat(data.widthScreen) + 17%>px; 
    height : <%= parseFloat(data.heightScreen) + 17%>px; 
    position : absolute; 
    left : 0px; 
    top : 60px; 
    overflow-x : scroll; 
    overflow-y : scroll; 
    display : none;"> 
    <%for(var i = 0; i < data.scanner[j].parts; ++i) {%> 
    <div class="fenetre" id=<%= data.scanner[j].name + "-img" + i%> 
     style=" 
     background-image : url(<%= (data.scanner[j].imagePath)%>); 
     width : <%= data.scanner[j].width%>px; 
     height : <%= data.scanner[j].height%>px; 
     position:absolute; 
     top: 0px; 
     left: <%= (i * data.scanner[j].left)%>px;" 
    > 
    </div> 
    <%}%> 
</div> 
<%}%> 

答えて

0

html-pdfを試してみて、それがpdfファイルでCSSをエクスポートし、それがnodejsと互換ますので、それはまた、NPMパッケージです。

インストール:

$ npm install -g html-pdf

コマンドラインの例:

$ html-pdf test/businesscard.html businesscard.pdf

コード例:awnserため

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' } 
}); 
+0

感謝。残念ながら、私はejsを使用しているので、私が読むことができる.htmlファイルはありません。別の解決策がありますか? (たとえそれがpdfの代わりにjpgまたはpngであっても、私はそれを取るでしょう) – TheRelax

+0

あなたの 'div'、' images'& 'css'の例を教えてください。 –

+0

質問を編集しました。私は.cssファイルを持っていません、CSSはインラインです – TheRelax

関連する問題