|
|
|
|
@ -18,18 +18,23 @@ export class PageNumber {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public render(ctx: CanvasRenderingContext2D, pageNo: number) {
|
|
|
|
|
const { pageNumber: { size, font, color, rowFlex, numberType, format }, scale, pageMode } = this.options
|
|
|
|
|
const {
|
|
|
|
|
scale,
|
|
|
|
|
pageMode,
|
|
|
|
|
pageNumber: { size, font, color, rowFlex, numberType, format, startPageNo, fromPageNo }
|
|
|
|
|
} = this.options
|
|
|
|
|
if (pageNo < fromPageNo) return
|
|
|
|
|
// 处理页码格式
|
|
|
|
|
let text = format
|
|
|
|
|
const pageNoReg = new RegExp(FORMAT_PLACEHOLDER.PAGE_NO)
|
|
|
|
|
if (pageNoReg.test(text)) {
|
|
|
|
|
const realPageNo = pageNo + 1
|
|
|
|
|
const realPageNo = pageNo + startPageNo - fromPageNo
|
|
|
|
|
const pageNoText = numberType === NumberType.CHINESE ? convertNumberToChinese(realPageNo) : `${realPageNo}`
|
|
|
|
|
text = text.replace(pageNoReg, pageNoText)
|
|
|
|
|
}
|
|
|
|
|
const pageCountReg = new RegExp(FORMAT_PLACEHOLDER.PAGE_COUNT)
|
|
|
|
|
if (pageCountReg.test(text)) {
|
|
|
|
|
const pageCount = this.draw.getPageCount()
|
|
|
|
|
const pageCount = this.draw.getPageCount() - fromPageNo
|
|
|
|
|
const pageCountText = numberType === NumberType.CHINESE ? convertNumberToChinese(pageCount) : `${pageCount}`
|
|
|
|
|
text = text.replace(pageCountReg, pageCountText)
|
|
|
|
|
}
|
|
|
|
|
|