React项目中jsPDF导出PDF文件损坏问题求助
React项目中jsPDF导出PDF文件损坏问题
问题概况
原本正常运行的jsPDF库突然出现异常,React项目中所有导出的PDF文件均损坏。已尝试重新安装库、更新至最新版本、重装node_modules,但问题未解决。甚至测试导出简单的"Hello, world!"PDF,生成的文件依然损坏。
导入代码
import {imageToBase64} from "../../../tools"; import extendedLogo from "../../../assets/extended-logo-progress.png"; import jsPDF from "jspdf"; import "jspdf-autotable"; import {robotoFontBase64} from "../../../fonts/robotoFontBase64"; declare module "jspdf" { interface jsPDF { autoTable(options: any): void; } }
失效的导出函数
async function exportDataToPDF() { const doc = new jsPDF(); doc.addFileToVFS("Roboto-Regular.ttf", robotoFontBase64); doc.addFont("Roboto-Regular.ttf", "Roboto", "normal"); doc.setFont("Roboto"); const logo = new Image(); logo.src = extendedLogo; const logoWidth = 170; const logoOffset = (doc.internal.pageSize.width - logoWidth) / 2; doc.addImage(logo, "PNG", logoOffset, 10, logoWidth, 25); doc.setFontSize(16); doc.text( "СПРАВКА ПЛАНИРАНО ПРОИЗВОДСТВО", doc.internal.pageSize.getWidth() / 2, 45, {align: "center"} ); doc.setFontSize(12); doc.text(`От дата: ${dateToString(fromDate)}`, 17, 60); doc.text(`До дата: ${dateToString(toDate)}`, 17, 70); doc.autoTable({ head: [ [ "Дата за експ.", "Заявка дата", "Поръчка", "N:", "Детайл", "КВП", "Брой", ], ], body: filteredRequested.map((item) => [ dateToString(item.expeditionDate), dateToString(item.requestDate), item.clientName, item.orderNumber, `${item.detailName} [${item.detailCode}]`, item.orderCode, item.qty, ]), startY: 78, styles: {font: "Roboto"}, }); doc.save( `Планирано производство ${dateToString(fromDate)} - ${dateToString( toDate )}.pdf` ); }
简单测试代码(导出结果仍损坏)
import jsPDF from 'jspdf'; const doc = new jsPDF(); doc.text('Hello, world!', 10, 10); doc.save('my-report.pdf');
内容的提问来源于stack exchange,提问作者Kristiyan
相关产品推荐
相关产品推荐

