私はこれを実装しましたが、これはhtmlからpdfに変換するアプローチとは少し異なります。下のコードでは、jade(現在はpugと呼ばれています)を使用して、構造的に変更がなければこのpdfを動的にすることができます。つまり、再利用可能なテンプレートです。また、私はこれを非同期的に行いました。これは、あなたが問題にぶつかっている潜在的な理由です。同期コードを書いている特定の理由はありますか?
コード内には、定義を表示していない2つの変数があるため、問題が存在するかどうかはわかりません。あなたのコードを含めると、もう少しお手伝いできるようになります。私のコードがあなたを助けてくれることを願っています。
let fs = require('fs');
let path = require('path');
let jade = require('jade');
let pdf = require('html-pdf');
let filepath = path.resolve(__dirname, '../views/example.jade');
let templateVariables = {}; // If you have any to pass in
fs.readFile(filepath, 'utf8', function(err, data) {
if (err) throw err;
let fn = jade.compile(data);
let html = fn(templateVariables);
let options = {
pageSize: 'Letter',
marginTop: '0.5in',
marginLeft: '0.25in',
marginRight: '1.0in',
marginBottom: '0.5in'
};
if (html) {
pdf.create(html, options).toFile('./example.pdf', function(err, res){
if (err) {
console.log(err);
cb(err);
}
if (res) {
console.log('pdf res ', res);
}
});
}
});
あなたの問題について具体的に説明し、_example.html_の関連部分を追加する必要があります。それで、私たちはあまり助けてはいけません。 – TGrif
'html-pdf'コマンドラインを使って' example.html'からpdfを生成すると、スタイルの問題はまだ存在しますか? example.htmlの関連コンテンツを投稿できますか? – shaochuancs
HTMLから生成されたPDFファイルがHTMLのように見えず、テキストが大きすぎて画像がありません。 –