react--pdf-lib给PDF添加水印兼容IE11

react

import { degrees, PDFDocument, rgb, StandardFonts } from \'pdf-lib\';


export async function modifyPdf(url, texts) {

  const text = `${texts}`;

  const existingPdfBytes = await fetch(url).then(res => res.arrayBuffer());

  const pdfDoc = await PDFDocument.load(existingPdfBytes);

  const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica);

  const page = pdfDoc.getPages();

  const firstPage = page[0];

  const { height } = firstPage.getSize();

  page.forEach(item => {

    item.drawText(text, {

      x: 10,

      y: height - 100,

      size: 30,

      font: helveticaFont,

      color: rgb(0.82, 0.86, 0.89),

      rotate: degrees(45),

    });

    item.drawText(text, {

      x: 480,

      y: height - 65,

      size: 30,

      font: helveticaFont,

      color: rgb(0.82, 0.86, 0.89),

      rotate: degrees(45),

    });

    item.drawText(text, {

      x: 15,

      y: height - 200,

      size: 30,

      font: helveticaFont,

      color: rgb(0.82, 0.86, 0.89),

      rotate: degrees(45),

    });

  });

  if (window.navigator && window.navigator.msSaveOrOpenBlob) {

    const blob = new Blob([await pdfDoc.save()], { type: \'application/pdf\' });

    window.navigator.msSaveBlob(blob,\'预览.pdf\');

  } else {

    const pdfUrl = URL.createObjectURL(

      new Blob([await pdfDoc.save()], { type: \'application/pdf\' }),

    );

    window.open(pdfUrl, \'_blank\');

  }

}

以上是 react--pdf-lib给PDF添加水印兼容IE11 的全部内容, 来源链接: utcz.com/z/382798.html

回到顶部