📜  pdf make 想要动态地在四个表之后分页 (1)

📅  最后修改于: 2023-12-03 15:03:32.801000             🧑  作者: Mango

使用pdf make实现动态分页

Pdf make是一个javascript库,它以代码方式自动生成pdf文件。它提供了丰富的功能,如自定义字体、表格、图像和样式。在pdf生成过程中,我们有时需要在指定位置进行分页,这个可以通过代码实现,下面是一个基本的例子。

示例代码
var docDefinition = {
    content: [
        'Hello World',
        'This is an example of how to dynamically add a page break after 4 tables in pdfmake',
        'Below is a text element',
        {
            text: 'Table 1',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 2',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 3',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 4',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            },
            pageBreak: 'after' // 在第4个表后插入分页符
        },
        {
            text: 'Page 2',
            style: 'header'
        },
        {
            text: 'This is page 2 content'
        }
    ]
};

pdfMake.createPdf(docDefinition).open();

在上面的示例中,在第四个表格的定义中添加了pageBreak('after')选项,便于在第4个表格后添加分页符,以创建一个新页面,并在新页面上添加一个标题。

markdown代码
## 使用pdf make实现动态分页

Pdf make是一个javascript库,它以代码方式自动生成pdf文件。它提供了丰富的功能,如自定义字体、表格、图像和样式。在pdf生成过程中,我们有时需要在指定位置进行分页,这个可以通过代码实现,下面是一个基本的例子。

### 示例代码

```js
var docDefinition = {
    content: [
        'Hello World',
        'This is an example of how to dynamically add a page break after 4 tables in pdfmake',
        'Below is a text element',
        {
            text: 'Table 1',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 2',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 3',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            }
        },
        {
            text: 'Table 4',
            style: 'header'
        },
        {
            table: {
                body: [
                    ['Column 1', 'Column 2', 'Column 3', 'Column 4'],
                    ['One', 'Two', 'Three', 'Four'],
                    ['Five', 'Six', 'Seven', 'Eight'],
                    ['Nine', 'Ten', 'Eleven', 'Twelve']
                ]
            },
            pageBreak: 'after' // 在第4个表后插入分页符
        },
        {
            text: 'Page 2',
            style: 'header'
        },
        {
            text: 'This is page 2 content'
        }
    ]
};

pdfMake.createPdf(docDefinition).open();

在上面的示例中,在第四个表格的定义中添加了pageBreak('after')选项,便于在第4个表格后添加分页符,以创建一个新页面,并在新页面上添加一个标题。