You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:16:11