javascript - JsPDF - 根据标签值更改文件名以下载 PDF
问题描述
我使用 jsPDF 和 html2canvas 截取 div 并将其添加到 PDF 然后下载。我的代码运行良好,但我需要根据 div 中的标签值更改 PDF 文件名。
例如:
标签值是“John_Simith”,我想要的 PDF 文件名是 John_Simith.pdf,但是当标签值变成“Sarah”时,我需要文件名是 Sarah.pdf。
这是我的Javascript:
function getPDF() {
var HTML_Width = $(".canvas_div_pdf").width();
var HTML_Height = $(".canvas_div_pdf").height();
var top_left_margin = 15;
var PDF_Width = HTML_Width;
var PDF_Height = HTML_Height;
var canvas_image_width = HTML_Width;
var canvas_image_height = HTML_Height * 1.1;
var totalPDFPages = Math.ceil(HTML_Height / PDF_Height) - 1;
html2canvas($(".canvas_div_pdf")[0], { allowTaint: true }).then(function (canvas) {
canvas.getContext('2d');
console.log(canvas.height + " " + canvas.width);
var imgData = canvas.toDataURL("image/jpeg", 1.0);
var pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);
pdf.addImage(imgData, 'JPG', top_left_margin, top_left_margin, canvas_image_width, canvas_image_height);
for (var i = 1; i <= totalPDFPages; i++) {
pdf.addPage(PDF_Width, PDF_Height);
pdf.addImage(imgData, 'JPG', 0, 0, canvas_image_width, canvas_image_height);
}
pdf.save("Sample.pdf");
location.reload(true);
});
};
我不知道该怎么做,所以我需要你的建议,非常感谢。
解决方案
你只需要从你的 div 中获取这个标签
// Here maybe https://api.jquery.com/text/ will cover your case
var label = $(".canvas_div_pdf").text()
...
pdf.save(`{label}.pdf`);
...
推荐阅读
- sql - 优化 EF 展平
- algorithm - Ocaml- 正则表达式的偏导数
- sql-server - 替换 SQL 字符串中的 HEX 99(和其他非 ascii)
- telegram - 我可以查看转发到群组的消息是否已编辑以及何时编辑?
- angular - 安装 angular-cesium 后如何添加新的访问令牌
- postgresql - Postgres“插入或更新后”触发器未触发
- colors - 使用 webgl 将高位深度的纹理渲染到屏幕上
- python-3.x - 将行 [0] 中的前三个项目移动到行 [1 - 9] 中的新列
- java - 如何防止使用 JPA 在本机插入查询中注入 SQL?
- python - Django 信号 + 通道:消息未通过客户端