diff --git a/packages/react-pdf/src/Page/Canvas.spec.tsx b/packages/react-pdf/src/Page/Canvas.spec.tsx index 45132cae9..62057386b 100644 --- a/packages/react-pdf/src/Page/Canvas.spec.tsx +++ b/packages/react-pdf/src/Page/Canvas.spec.tsx @@ -66,7 +66,14 @@ describe('Canvas', () => { expect.assertions(1); - await expect(onRenderSuccessPromise).resolves.toMatchObject([{}]); + await expect(onRenderSuccessPromise).resolves.toMatchObject([ + {}, + { + annotationMode: 1, + canvasContext: expect.any(Object), + viewport: page.getViewport({ scale: 1, rotation: 0 }), + }, + ]); restoreConsole(); }); diff --git a/packages/react-pdf/src/Page/Canvas.tsx b/packages/react-pdf/src/Page/Canvas.tsx index 3f7f61d58..60ee9eb26 100644 --- a/packages/react-pdf/src/Page/Canvas.tsx +++ b/packages/react-pdf/src/Page/Canvas.tsx @@ -51,14 +51,14 @@ export default function Canvas(props: CanvasProps): React.ReactElement { /** * Called when a page is rendered successfully. */ - function onRenderSuccess() { + function onRenderSuccess(renderContext: RenderParameters) { if (!page) { // Impossible, but TypeScript doesn't know that return; } if (onRenderSuccessProps) { - onRenderSuccessProps(makePageCallback(page, scale)); + onRenderSuccessProps(makePageCallback(page, scale), renderContext); } } @@ -126,7 +126,7 @@ export default function Canvas(props: CanvasProps): React.ReactElement { .then(() => { canvas.style.visibility = ''; - onRenderSuccess(); + onRenderSuccess(renderContext); }) .catch(onRenderError); diff --git a/packages/react-pdf/src/shared/types.ts b/packages/react-pdf/src/shared/types.ts index cc5258405..3bc9f26b0 100644 --- a/packages/react-pdf/src/shared/types.ts +++ b/packages/react-pdf/src/shared/types.ts @@ -8,6 +8,7 @@ import type { TypedArray, DocumentInitParameters, RefProxy, + RenderParameters, StructTreeNode, TextContent, TextItem, @@ -119,7 +120,7 @@ export type OnRenderAnnotationLayerSuccess = () => void; export type OnRenderError = OnError; -export type OnRenderSuccess = (page: PageCallback) => void; +export type OnRenderSuccess = (page: PageCallback, renderContext: RenderParameters) => void; export type OnRenderTextLayerError = OnError;