feat: add maximum page number option #617
This commit is contained in:
@@ -117,6 +117,7 @@ interface IPageNumber {
|
|||||||
disabled?: boolean // Whether to disable
|
disabled?: boolean // Whether to disable
|
||||||
startPageNo?: number // Start page number.default: 1
|
startPageNo?: number // Start page number.default: 1
|
||||||
fromPageNo?: number // Page numbers appear from page number.default: 0
|
fromPageNo?: number // Page numbers appear from page number.default: 0
|
||||||
|
maxPageNo?: number | null // Max page number(starting from 0).default: null
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ interface IPageNumber {
|
|||||||
disabled?: boolean // 是否禁用
|
disabled?: boolean // 是否禁用
|
||||||
startPageNo?: number // 起始页码。默认:1
|
startPageNo?: number // 起始页码。默认:1
|
||||||
fromPageNo?: number // 从第几页开始出现页码。默认:0
|
fromPageNo?: number // 从第几页开始出现页码。默认:0
|
||||||
|
maxPageNo?: number | null // 最大页码(从0开始)。默认:null
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1681,7 +1681,10 @@ export class Draw {
|
|||||||
|
|
||||||
private _computePageList(): IRow[][] {
|
private _computePageList(): IRow[][] {
|
||||||
const pageRowList: IRow[][] = [[]]
|
const pageRowList: IRow[][] = [[]]
|
||||||
const { pageMode } = this.options
|
const {
|
||||||
|
pageMode,
|
||||||
|
pageNumber: { maxPageNo }
|
||||||
|
} = this.options
|
||||||
const height = this.getHeight()
|
const height = this.getHeight()
|
||||||
const marginHeight = this.getMainOuterHeight()
|
const marginHeight = this.getMainOuterHeight()
|
||||||
let pageHeight = marginHeight
|
let pageHeight = marginHeight
|
||||||
@@ -1709,6 +1712,10 @@ export class Draw {
|
|||||||
row.height + pageHeight > height ||
|
row.height + pageHeight > height ||
|
||||||
this.rowList[i - 1]?.isPageBreak
|
this.rowList[i - 1]?.isPageBreak
|
||||||
) {
|
) {
|
||||||
|
if (Number.isInteger(maxPageNo) && pageNo >= maxPageNo!) {
|
||||||
|
this.elementList = this.elementList.slice(0, row.startIndex)
|
||||||
|
break
|
||||||
|
}
|
||||||
pageHeight = marginHeight + row.height
|
pageHeight = marginHeight + row.height
|
||||||
pageRowList.push([row])
|
pageRowList.push([row])
|
||||||
pageNo++
|
pageNo++
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ export const defaultPageNumberOption: Readonly<Required<IPageNumber>> = {
|
|||||||
numberType: NumberType.ARABIC,
|
numberType: NumberType.ARABIC,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
startPageNo: 1,
|
startPageNo: 1,
|
||||||
fromPageNo: 0
|
fromPageNo: 0,
|
||||||
|
maxPageNo: null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,5 @@ export interface IPageNumber {
|
|||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
startPageNo?: number
|
startPageNo?: number
|
||||||
fromPageNo?: number
|
fromPageNo?: number
|
||||||
|
maxPageNo?: number | null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user