我正在使用JSPDF将HTML转换为PDF。如果我有一个呈现的页面,然后单击一个按钮只是导出适当的PDF,这非常简单,但是,我试图通过JSPDF创建收据,并在提供PDF之前呈现页面不是一个好选择。
因此,我正在使用Django,基本上我想做的就是使用模板的html呈现我需要的收据:
例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.min.js"></script>
let doc = new jsPDF();
$('#click').click(function () {
let a = {% include 'receipt_template.html' with data=payment_data %};
doc.fromHTML(a, 0, 0, {
'width': 170
});
doc.save('receipt.pdf');
});
但是这不起作用,因为我没有收集模板的HTML,实际上是在页面上呈现它。我正在尝试做的可能吗?
您将html代码分配给a
变量。
只需添加引号即可将此代码更改为:
let a = `{% include 'receipt_template.html' with data=payment_data %}`;
更新
如@Daniel Roseman所述,可能存在转义问题。
在我的示例中,您不能在`
中使用receipt_template.html
并将其包含在其中。您需要逃脱它们。