Customizing page navigation in our React Native PDF viewer
After loading a PDF document in Nutrient, you can programmatically interact with it (e.g. scrolling to different pages). All of the interaction APIs are available on NutrientView
, which is the core PDF viewer.
Changing the current page
A user can change the current page in the UI by swiping on a device. Pages can also be programmatically changed using the pageIndex
prop, like so:
<NutrientView document={DOCUMENT} // Navigate to the page index at index 4. pageIndex={4} ref="pdfView" fragmentTag="PDF1" style={{ flex: 1 }}/>
Getting the current page
To get the currently visible page index, you need to listen to the onStateChanged
event, like so:
export default class App extends Component<{}> { constructor(props) { super(props); this.state = { currentPageIndex: 0, }; }
render() { return ( <NutrientView document={DOCUMENT} ref="pdfView" fragmentTag="PDF1" style={{flex: 1}} // Listen to the `onStateChanged` event. onStateChanged={event => { // Update the state’s current page index. this.setState({ currentPageIndex: event.currentPageIndex, }); }} /> ); }}
...// Get the current page index.const currentPageIndex = this.state.currentPageIndex;