如何从React制作PDF?

Zha*_*.YM 4 reactjs

我将在React.JS中使用jsPDF库,但出现错误,如果有人得到我的查询,请告诉我。我尝试这样做超过2天,但我做不到。

小智 7

步骤1:

Package.json依赖项

"jspdf": "git://github.com/MrRio/jsPDF/#76edb3387cda3d5292e212765134b06150030364"

这是由于jspdf for npm无法正常工作。

第2步:

添加打印功能:

onPrint() {
    const { vehicleData } = this.props.parkedVehicle;
    const { 


    plate_no,
      max_time,
      entry_date_time,
      exit_date_time,
      expiry_time,
      address1,
      address2,
      city,
      state,
      zip,
      country,
      parking_status
    } = vehicleData;

    var pdfConverter = require('jspdf');
    //var converter = new pdfConverter();
    //var doc = converter.jsPDF('p', 'pt');

    var doc = new pdfConverter('p','pt','c6');

    doc.setFontSize(22);
    doc.text(20, 50, 'Park Entry Ticket');
    doc.setFontSize(16);
    doc.text(20, 80, 'Address1: ' + address1);
    doc.text(20, 100, 'Address2: ' + address2);
    doc.text(20, 120, 'Entry Date & time: ' + entry_date_time);
    doc.text(20, 140, 'Expiry date & time: ' + exit_date_time);
    doc.save("test.pdf");
}
Run Code Online (Sandbox Code Playgroud)

而且对我来说很好。


Shi*_*ana 5

现在,我们还可以将React组件直接转换为pdf。

想法是通过以下转换传递反应渲染:DOM-> CANVAS-> PNG-> PDF

对于DOM到Canvas,我们可以使用html2canvas库。画布到PNG很简单。从PNG到PDF,我们可以使用jsDom。

我已经张贴的答案解释更多的细节和代码示例同样在这里