使用html2canvas 截图并生成pdf

react+ts做法

import html2canvas from 'html2canvas';

import jsPDF from 'jspdf';

const contentRef = useRef<HTMLDivElement>(null);

const handlePreview = async () => {

          try {

          const canvas = await html2canvas(contentRef.current!);

          const imgData = canvas.toDataURL('image/png');

          // 创建PDF

          const pdf = new jsPDF('p', 'mm', 'a4')

          pdf.addImage(imgData, 'PNG', 15, 15, 180, 100); // 将截图添加到PDF

          // 添加额外的文字

          pdf.text('111 111', 15, 25);

          const blob = pdf.output("blob");

          // 在线展示pdf

          window.open(URL.createObjectURL(blob));   

          //下载pdf

          pdf.save('1') 

        } catch (error) {

          console.error('Error generating PDF:', error);

        }

    };

//需要截图的区域

<div ref={contentRef}>

                <Image

                        preview={false}

                        width={400}

                        height={200}

                        src={banner_slide_0888}

                    />

  </div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值