私はhtmlファイルをpythonでpdfに変換しようとしています。 htmlファイルにはJavaScriptチャートがあります。
最初はweasyprintとpdfkitモジュールを使用しましたが、モジュールがjavascriptをサポートしていないことがわかりました。
今私はwkhtmltopdfモジュールを使用しています。それは、javascriptを除いて、ほとんどのhtmlコードをpdfに変換します。 PythonでJavaScriptチャートを含むhtmlファイルをPDFに変換することは可能ですか?
または別のモジュールを使用する必要がありますか?
以下は、pdfファイルには表示されないJavaScriptコードです。JavaScriptチャートを含むhtmlファイルをPythonでPDFに変換することはできますか?
<script type="text/javascript">
FusionCharts.ready(function(){
var fusioncharts = new FusionCharts({
type: 'hlineargauge',
renderAt: 'chart_container',
width: '350px',
height: '170px',
dataFormat: 'json',
dataSource: {
"chart": {
"theme": "fint",
"caption": "Chart A",
"lowerLimit": "0",
"upperLimit": "20",
"chartBottomMargin": "40",
"valueFontSize": "11",
"valueFontBold": "z0"
},
"colorRange": {
"color": [{
"minValue": "0",
"maxValue": "11.5",
"label": "Low",
"code" : "#FDB881",
}, {
"minValue": "11.5",
"maxValue": "12.5",
"label": "Typical",
"code" : "#F18B36",
}, {
"minValue": "12.5",
"maxValue": "20",
"label": "High",
"code" : "#D2660D",
}]
},
"pointers": {
"pointer": [{
"value": "8",
'borderColor':'#333333',
'borderThickness':'3',
'borderAlpha':'100',
'bgColor':'#FF0000'
}]
},
}
}
);
fusioncharts.render();
});
</script>
wkhtmltopdfバージョンは0.12.4であり、コマンドはここ
$ wkhtmltopdf --javascript-delay 5000 test.html test.pdf
ありがとうSteven。実際にはウェブサイトはうまくレンダリングされますが、HTMLファイルのJavaScriptチャートがレンダリングされない理由はわかりません。 – BingbongKim
$(function(){})を使ってみてください。ページが読み込まれるとレンダリングされますか?たぶん、それをロードする前にスクリプトを実行しているのでしょうか? –
それはうまくいってうれしい! –