Document State
A state object that can be hoisted to control and observe properties of the com.pspdfkit.jetpack.compose.views.DocumentView. Create instances of this object using rememberDocumentState.
Parameters
The PdfActivityConfiguration used for this state.
Properties
Tracks which view (thumbnail grid, outline, search) is currently active so com.pspdfkit.jetpack.compose.components.MainToolbar can reflect the correct toolbar button state.
Provides ability to perform specific tasks in Document.
True while the search view is visible.
Keep track of whether a full screen view is shown that is not the document view so we can handle the main toolbar clipping
Functions
Reverts back to viewer from any other State.
Returns the height (in pixels) of the contextual toolbar, as measured by the SDK layout. Pass this value to setContentViewTopPadding when overlay views (thumbnail grid, outline) are shown, so their content starts exactly below the contextual toolbar.
Provides the current configuration of the document.
Provides the document source of the PDF file.
Provides the SavedData bundle from the document.
Handles a back press with the same layered logic as the regular SDK: dismisses the contextual toolbar first if one is shown; otherwise closes the active overlay view (thumbnail grid, outline, etc.).
Checks if viewer is visible or not. Default value is true
Sets the top padding (in pixels) of the sibling content view that holds overlay views such as the thumbnail grid. After the first call the automatic Java-side adjustments triggered by contextual toolbar lifecycle events are suppressed, so Compose can own this value without racing against native view code.
Sets the custom source for the PDF file. if you pass null in the source param, it will refresh the document by using same source.
Set the ToolbarCoordinatorLayout.OnContextualToolbarLifecycleListener to listen to the lifecycle of the contextual toolbar. Can be implemented in a LaunchedScope to handle the lifecycle of the contextual toolbar, i.e. LaunchedEffect(Unit) { documentState.setOnContextualToolbarLifecycleListener(object : ToolbarCoordinatorLayout.OnContextualToolbarLifecycleListener { override fun onPrepareContextualToolbar(toolbar: ContextualToolbar<*>) { if (toolbar is AnnotationToolbar) { // Register grouping rule to tell toolbar how to group menu items. toolbar.setMenuItemGroupingRule(object : PresetMenuItemGroupingRule(context) { override fun getGroupPreset(capacity: Int, itemsCount: Int) = AnnotationCreationToolbarItemPresets.FOUR_ITEMS_GROUPING; }) } } }) }
Set the SavedData bundle to the document.
Toggles the view based on the provided MENU_OPTIONS in com.pspdfkit.ui.PdfActivity.
Updated the configuration of the document.