From 4aeb99b0b86c70adb4b9b1c0143a4c226b13bba4 Mon Sep 17 00:00:00 2001 From: Pedro256 Date: Tue, 21 May 2024 22:19:10 -0400 Subject: [PATCH] feat: adicionando background option --- src/constants.ts | 1 + src/converter.ts | 11 +++++++++++ src/types.ts | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/constants.ts b/src/constants.ts index 4c2c052..f7a18ee 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -24,6 +24,7 @@ export const DEFAULT_OPTIONS: Readonly = { margin: Margin.NONE, format: "A4", orientation: "portrait", + background:null }, canvas: { mimeType: "image/jpeg", diff --git a/src/converter.ts b/src/converter.ts index 6d2e6d6..0399ea6 100644 --- a/src/converter.ts +++ b/src/converter.ts @@ -161,6 +161,17 @@ export default class Converter { this.options.canvas.qualityRatio ); this.pdf.setPage(pageNumber); + + if(this.options.page.background){ + this.pdf.addImage({ + imageData: this.options.page.background, + width: this.pdf.internal.pageSize.getWidth(), + height: this.pdf.internal.pageSize.getHeight(), + x: 0, + y: 0 + }); + } + this.pdf.addImage({ imageData: pageImageDataURL, width: diff --git a/src/types.ts b/src/types.ts index f1db942..8655ea3 100644 --- a/src/types.ts +++ b/src/types.ts @@ -17,6 +17,7 @@ type PageConversionOptions = { format: jsPDFOptions["format"]; /** Orientation of the page (portrait or landscape), defaults to `portrait`. */ orientation: jsPDFOptions["orientation"]; + background?:string | HTMLImageElement | HTMLCanvasElement | Uint8Array }; type CanvasConversionOptions = Pick< @@ -82,6 +83,7 @@ export type Options = Omit< page?: Partial; canvas?: Partial; overrides?: Partial; + }; export type UsePDFResult = {