useFullScreenContext
The useFullScreenContext hook in React PDF Kit provides access to the full screen state and functions for entering and exiting full screen mode.
It enables you to create custom controls for toggling fullscreen mode in the React PDF Viewer component by providing state and functions to manage fullscreen behavior.
Return Type
Section titled “Return Type”| Name | Type | Description |
|---|---|---|
| isFullScreen | boolean | Indicate whether the element is currently in the fullscreen mode |
| toggleFullScreen | () => void | Toggle the fullscreen state for the specified element |
| isSupported | boolean | Indicate whether the browser supports the fullscreen mode |
To ensure the full screen context can be accessed, you will need to use useFullScreenContext inside a component which is a child of RPProvider.
This example shows how to create a CustomFullScreenButton component which uses useFullScreenContext hook to handle fullscreen functionality.
import { RPConfig, RPProvider, RPLayout, RPPages, useFullScreenContext} from '@react-pdf-kit/viewer'
const CustomFullScreenButton = () => { const { isFullScreen, toggleFullScreen, isSupported } = useFullScreenContext() return ( <div> <button onClick={toggleFullScreen} disabled={!isSupported}> {isFullScreen ? 'Exit Fullscreen' : 'Enter Fullscreen'} </button> </div> )}
export const AppPdfViewer = () => { return ( <RPConfig licenseKey="YOUR_LICENSE_KEY"> <RPProvider src="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf"> <CustomFullScreenButton /> <RPLayout toolbar> <RPPages /> </RPLayout> </RPProvider> </RPConfig> )}import { RPConfig, RPProvider, RPLayout, RPPages, useFullScreenContext} from '@react-pdf-kit/viewer'import { type FC } from 'react'
const CustomFullScreenButton: FC = () => { const { isFullScreen, toggleFullScreen, isSupported } = useFullScreenContext() return ( <div> <button onClick={toggleFullScreen} disabled={!isSupported}> {isFullScreen ? 'Exit Fullscreen' : 'Enter Fullscreen'} </button> </div> )}
export const AppPdfViewer: FC = () => { return ( <RPConfig licenseKey="YOUR_LICENSE_KEY"> <RPProvider src="https://raw.githubusercontent.com/mozilla/pdf.js/ba2edeae/web/compressed.tracemonkey-pldi-09.pdf"> <CustomFullScreenButton /> <RPLayout toolbar> <RPPages /> </RPLayout> </RPProvider> </RPConfig> )}