Skip to content
ComPDF
DemoAPI ReferenceFAQ
New Release

Open-Source PDF SDK & AI Document Processing

Get the full self-hosted SDK and AI document processing on GitHub. One-click deploy to quickly build your document workflows.

Guides

Viewer

ComPDF React Native SDK provides reader-level callbacks through CPDFReaderView. Use these callbacks for viewer lifecycle and UI events.

Available Callbacks

CallbackTrigger TimingPayload
onPageChangedCurrent page changesnumber pageIndex
onSaveDocumentDocument save completesNo payload
onFullScreenChangedFullscreen state changesboolean isFullScreen
onTapMainDocAreaUser taps the main PDF page areaNo payload
onPageEditDialogBackPressUser taps the back button in the page edit dialogNo payload
onIOSClickBackPressediOS top-left reader back button is tappedNo payload
onSearchBackButtonTappedUser taps the back button in the search viewNo payload
onAddWatermarkDialogDismissedAdd watermark dialog is dismissedNo payload

Example Usage

tsx
<CPDFReaderView
  ref={pdfReaderRef}
  document={samplePDF}
  configuration={configuration}
  onViewCreated={() => {
    console.log('Reader created');
  }}
  onPageChanged={(pageIndex) => {
    console.log('Current page:', pageIndex);
  }}
  onSaveDocument={() => {
    console.log('Document saved successfully');
  }}
  onFullScreenChanged={(isFullScreen) => {
    console.log('Is full screen:', isFullScreen);
  }}
  onTapMainDocArea={() => {
    console.log('Main document area tapped');
  }}
  onPageEditDialogBackPress={() => {
    console.log('Back button pressed in page edit dialog');
  }}
  onIOSClickBackPressed={() => {
    console.log('iOS back button pressed');
  }}
  onSearchBackButtonTapped={() => {
    console.log('Search back button tapped');
  }}
  onAddWatermarkDialogDismissed={() => {
    console.log('Add watermark dialog dismissed');
  }}
/>

Note

  • onSearchBackButtonTapped is useful when you manage search state on the React Native side.
  • onAddWatermarkDialogDismissed fires after the add watermark panel closes. Use it to restore custom UI state or refresh watermark-related controls.