首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >htmlToPdf与PDFMake:如何在pdf (角8)中的每一项内容之后添加分页?

htmlToPdf与PDFMake:如何在pdf (角8)中的每一项内容之后添加分页?
EN

Stack Overflow用户
提问于 2020-07-17 11:23:28
回答 1查看 1.9K关注 0票数 0

我正在创建一个pdf从一个html字符串由html-to-pdfmake模块和pdfmake生成pdf。

这是代码,这是convertToPDF函数,它将循环中的每个html字符串转换为pdf,然后通过html-to-pdfmake模块将其推送到另一个数组,即checkedArray,之后我将代码插入pdfmake的内容并添加了一个pagebreak,但它不起作用,它合并了一个页面中的所有内容,我希望按照pdfmake内容中的推送内容,

那我怎么能做到呢?

代码语言:javascript
运行
复制
import pdfMake from 'pdfmake/build/pdfmake';
import pdfFonts from 'pdfmake/build/vfs_fonts';
pdfMake.vfs = pdfFonts.pdfMake.vfs;
import htmlToPdf from 'html-to-pdfmake';

convertToPDF(resHtml) {
  for (var i = 0; i < resHtml.length; i++) {
    let data = resHtml[i].htmlString;
    let docId = resHtml[i].docId;
    let docTitle = resHtml[i].docTitle;
    var docDef = htmlToPdf(data);
    this.checkedArray.push({
      id: docId,
      title: docTitle,
      content: docDef
    });
  }
}

const docDefinition = {

  content: [],
  styles: {
    fontsize10: {
      fontSize: 10,
      bold: true
    },
    fontsize12: {
      fontSize: 12,
      bold: true
    },
    quote: {
      italics: true
    },
    small: {
      fontSize: 8
    },
    defaultStyle: {
      fontSize: 10
    },
    decoration: {
      decoration: 'underline'
    },
    tblHeader: {
      fontSize: 12,
      fillColor: '#1d86b8',
      color: '#ffffff',
      bold: true,
      overflow: 'ellipsize',
      tocItem: true,
    },
    subheader: {
      fontSize: 14,
      margin: [0, 10, 0, 5]
    },
  }
};

for (var i = 0; i < this.checkedArray.length; i++) {
  docDefinition.content.push(this.checkedArray[i].content);
  docDefinition.content.push({
    text: '',
    pagebreak: 'after'
  });
}

const pdfDocGenerator = pdfMake.createPdf(docDefinition);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 12:05:08

可以将此函数添加到docDefinition中。

代码语言:javascript
运行
复制
<h1 class="pdf-pagebreak-before">My title on page 2</h1>

 pageBreakBefore: function(currentNode) {
    return currentNode.style && currentNode.style.indexOf('pdf-pagebreak-before') > -1;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62952947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档