Skip to content
ComPDF
DemoAPI ReferenceFAQ

PDF Generation Template Editor

Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.

View on GitHub
Guides

Reader State and Interface Callbacks

Use the following CPDFReaderView Props to respond to Reader state and interface actions.

Reader and Viewer Callbacks

PropParameterTrigger
onViewCreatedNoneThe Reader is ready.
onPageChangedpageIndex: numberThe displayed page changes.
onSaveDocumentNoneThe Reader emits a save callback.
onPageEditDialogBackPressNoneThe user taps Back in the page-edit dialog.
onFullScreenChangedisFullScreen: booleanThe fullscreen state changes.
onTapMainDocAreaNoneThe user taps the main PDF page area.
onIOSClickBackPressedNoneThe user taps Back in the iOS Reader.
onSearchBackButtonTappedNoneThe user taps Back in the search view.
onAddWatermarkDialogDismissedNoneThe 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.

tsx
<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().