在本文中,我们将看到如何使用JSPDF将HTML转换为PDF。在这里,我们将学习如何使用JavaScript将HTML转换为PDF。
我们正在使用JSPDF在JavaScript中生成PDF。它可以从客户端生成PDF。 JSPDF在JavaScript中非常易于使用。
它还提供了生成PDF文件的多个选项。您可以使用图像和多个页面生成PDF文件,还可以支持日语,阿拉伯语,俄语等不同语言。
了解更多信息:JSPDF JavaScript PDF生成。
因此,让我们看一下jspdf html到pdf转换,jspdf html到pdf多个页面,使用JSPDF中的javascript使用JavaScript将HTML转换为PDF,将HTML转换为PDF。
JSPDF提供了两种不同的使用方法。
- 使用NPM 安装
- JSPDF CDN文件
示例:
在此步骤中,我们将创建一个HTML文件。因此,将以下代码添加到文件中。
<html>
<h1>How To Convert HTML To PDF Using jsPDF- Techsolutionstuff</h1>
<form class="form">
<table>
<tbody>
<tr>
<th>Company Name</th>
<th>Employee Name</th>
<th>Country</th>
</tr>
<tr>
<td>Dell</td>
<td>Maria</td>
<td>Germany</td>
</tr>
<tr>
<td>Asus</td>
<td>Francisco</td>
<td>Mexico</td>
</tr>
<tr>
<td>Apple</td>
<td>Roland</td>
<td>Austria</td>
</tr>
<tr>
<td>HP</td>
<td>Helen</td>
<td>UK</td>
</tr>
<tr>
<td>Lenovo</td>
<td>Yoshi</td>
<td>Canada</td>
</tr>
</tbody>
</table><br>
<input type="button" id="generate_pdf" value="Generate PDF">
</form>
</html>
现在,添加此HTML页面的样式。
<style>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
th{
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
background-color: #111;
color:white;
}
tr:nth-child(odd) {
background-color: #dddddd;
}
</style>
将以下脚本添加到HTML页面以将其转换为PDF。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script>
<script>
$(document).ready(function () {
var form = $('.form'),
cache_width = form.width(),
a4 = [595.28, 841.89]; // for a4 size paper width and height
$('#generate_pdf').on('click', function () {
$('body').scrollTop(0);
generatePDF();
});
function generatePDF() {
getCanvas().then(function (canvas) {
var img = canvas.toDataURL("image/png"),
doc = new jsPDF({
unit: 'px',
format: 'a4'
});
doc.addImage(img, 'JPEG', 20, 20);
doc.save('tech-html-to-pdf.pdf');
form.width(cache_width);
});
}
function getCanvas() {
form.width((a4[0] * 1.33333) - 80).css('max-width', 'none');
return html2canvas(form, {
imageTimeout: 2000,
removeContainer: true
});
}
});
</script>
您也可能喜欢: