PDF Generation Template Editor
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
Use the following CPDFReaderView Props to respond to Reader state and interface actions.
| Prop | Parameter | Trigger |
|---|---|---|
onViewCreated | None | The Reader is ready. |
onPageChanged | pageIndex: number | The displayed page changes. |
onSaveDocument | None | The Reader emits a save callback. |
onPageEditDialogBackPress | None | The user taps Back in the page-edit dialog. |
onFullScreenChanged | isFullScreen: boolean | The fullscreen state changes. |
onTapMainDocArea | None | The user taps the main PDF page area. |
onIOSClickBackPressed | None | The user taps Back in the iOS Reader. |
onSearchBackButtonTapped | None | The user taps Back in the search view. |
onAddWatermarkDialogDismissed | None | The Add Watermark panel closes. |
onSaveDocument does not provide a success value, output path, or URI. On iOS, the current native implementation can invoke it regardless of the native success value. When your application initiates a save, use the Promise<boolean> returned by save() as the result.
<CPDFReaderView
ref={pdfReaderRef}
document={samplePDF}
configuration={configuration}
onViewCreated={() => {
console.log('Reader is ready');
}}
onPageChanged={(pageIndex) => {
console.log('Current page index:', pageIndex);
}}
onSaveDocument={() => {
console.log('The native Reader emitted a save callback');
}}
onFullScreenChanged={(isFullScreen) => {
console.log('Fullscreen:', isFullScreen);
}}
onIOSClickBackPressed={() => {
console.log('iOS Reader Back tapped');
}}
/>Callback Props follow the CPDFReaderView lifecycle and do not use removeEventListener().