html里面需要引入jspdf.umd.min.js和FileSaver.js
jspdf.umd.min.js:https://www.npmjs.com/package/jspdf
FileSaver.js:https://download.csdn.net/download/weixin_45791806/87272893?spm=1001.2014.3001.5503
同時項目的根部目錄也需要引入SimHei.ttf:https://www.baidu.com/s?wd=SimHei.ttf(百度)
代碼使用:
$('.surplus-btn').click(function () {// 調用函數并傳入文本內容和頁面尺寸const textContent = '文本內容';convertTextToPDF(textContent);});/**PDF**/convertTextToPDF: function (text) {// 創建一個新的 jsPDF 實例const { jsPDF } = window.jspdf;const doc = new jsPDF();// 設置字體為 doc.addFont('/SimHei.ttf', 'simhei', 'normal');doc.setFont("simhei");// 設置字體大小doc.setFontSize(12);// 將文本分割成適應頁面大小的多個段落const paragraphs = doc.splitTextToSize(text, doc.internal.pageSize.getWidth() - 20);// 將段落逐個添加到 PDF 中let y = 10;paragraphs.forEach((paragraph) => {// 檢查當前頁面是否還有足夠的空間容納段落if (y + 10 > doc.internal.pageSize.getHeight()) {// 如果沒有足夠空間,添加新頁面doc.addPage();y = 10; // 重置 y 坐標}doc.text(paragraph, 10, y);y += 10;});// 保存 PDF 文件doc.save('文檔標題' + ".pdf");
},