动态 PDF 生成 Angular、NodeJS

问题描述 投票:0回答:2

尝试生成类似这样的pdf。虽然这并不理想。 一个多星期过去了,不知道我应该采取哪种方法。 客户端:html 到 pdf 的生成与 jspdf、html2pdf、pdfMake 配合不佳。

无论是在客户端还是服务器端实现。 前端:Angular,后端:NodeJS 对此有任何建议都会很棒

到目前为止我所尝试过的,

  generatePDF(): void {
    const doc = new jsPDF();
    var margins = {
      top: 0, bottom: 60, left: 40, right: 200
    };
    const pdfTable = this.pdfTable.nativeElement;

    var html = htmlToPdfmake(pdfTable.innerHTML);

    const documentDefinition = { content: html ,pageMargins: [15, 20, 0, 0] };
    pdfMake.createPdf(documentDefinition).open();
  }

HTML

<div id="pdfTable" #pdfTable>
  <h3 style="text-align: center;">MANUFACTURING FEASIBILITY REVIEW RECORD</h3>
  <div *ngFor="let item of feasibilityFormValue; let i = index">
    <p>{{item.dept}}</p>
    <p>{{item.review}}</p>
    <p>{{item.feasible}}</p>
    <p></p>
  </div>
</div> 

尝试将这个基本的 html 转换为 pdf。只是事情没有按预期发生。 像 flex 这样的样式在 jspdf 这样的库中不起作用

node.js angular jspdf html2pdf pdfmake
2个回答
0
投票

您可以使用 puppeteer 在 Node js 中创建 pdf

供参考: puppeteer官方网站

puppeteer NPM 包


0
投票

CSS 支持方面可能存在限制,您可以通过简化 html 结构来修复它,例如使用表格代替 div 中的段落。我希望这有帮助..

© www.soinside.com 2019 - 2024. All rights reserved.