UNPKG

react-native-pspdfkit2

Version:

React Native PDF Library by PSPDFKit

115 lines (103 loc) 41.1 kB
### Configuration Options Here's the complete list of configuration options supported by each platform. Note that some options are only supported on a single platform — that's because of differences in the behavior of both of these platforms. Options that work on only one platform are prefixed with the appropriate platform name: `android` or `iOS`. The options, grouped roughly by category, are shown below. #### Document Interaction Options | Configuration Option | Data Type | Possible Values | iOS | Android | Documentation | | ---------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `scrollDirection` | `String` | `horizontal`, `vertical` | ✅ | ✅ | Configures the direction of page scrolling in the document view. | | `pageTransition` | `String` | `scrollPerSpread`, `scrollContinuous`, `curl` | ✅ | ✅ | Configures the page scrolling mode. Note that curl mode is only available for iOS and will be ignored on Android. | | `enableTextSelection` | `Boolean` | `true` / `false` | ✅ | ✅ | Allow / disallow text selection. | | `autosaveEnabled` | `Boolean` | `true` / `false` | ✅ | ✅ | Determines whether PSPDFKit should save automatically in response to [certain UI triggers][], such as the app entering the background or the view disappearing. | | `disableAutomaticSaving` | `Boolean` | `true` / `false` | ✅ | ✅ | Determines whether PSPDFKit should save automatically in response to [certain UI triggers][], such as the app entering the background or the view disappearing. | | `signatureSavingStrategy` | `String` | `alwaysSave`, `neverSave`, `saveIfSelected` | ✅ | ✅ | Determines whether signatures should be saved after creation. | | `iOSShouldScrollToChangedPage` | `Boolean` | `true` / `false` | ✅ | ❌ | Scrolls to the affected page during an undo / redo operation. | | `iOSScrollViewInsetAdjustment` | `String` | `none`, `fixedElements`, `allElements` | ✅ | ❌ | Sets the scroll view inset adjustment mode. | | `iOSFormElementZoomEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to automatically focus on selected form elements. | | `iOSImageSelectionEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Allow / disallow image selection. | | `iOSTextSelectionShouldSnapToWord` | `Boolean` | `true` / `false` | ✅ | ❌ | Configure if text selection should snap to words. | | `iOSFreeTextAccessoryViewEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Shows a toolbar with text editing options above the keyboard while editing free text annotations. | | `iOSInternalTapGesturesEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Enable / disable all internal gesture recognizers. | | `iOSAllowBackgroundSaving` | `Boolean` | `true` / `false` | ✅ | ❌ | Determines whether automatic saving should happen on a background thread. | | `iOSMinimumZoomScale` | `float` | - | ✅ | ❌ | Minimum zoom scale for the scroll view. | | `iOSMaximumZoomScale` | `float` | - | ✅ | ❌ | Maximum zoom scale for the scroll view. | | `iOSDoubleTapAction` | `String` | `none`, `zoom`, `smartZoom` | ✅ | ❌ | The action that happens when the user double taps somewhere in the document. | | `iOSTextSelectionMode` | `String` | `regular`, `simple` | ✅ | ❌ | Defines how the text is selected. | | `iOSTypesShowingColorPresets` | `Set` | `none`, `undefined`, `all`, `Link`, `Highlight`, `Underline`, `Squiggly`, `StrikeOut`, `Text`, `Caret`, `FreeText`, `Ink`, `Square`, `Circle`, `Line`, `Signature`, `Stamp`, `Eraser`, `Image`, `Widget`, `FileAttachment`, `Sound`, `Polygon`, `PolyLine`, `RichMedia`, `Screen`, `Popup`, `Watermark`, `TrapNet`, `3D`, `Redact` | ✅ | ❌ | Shows a custom cell with configurable color presets for the provided annotation types. | #### Document Presentation Options | Configuration Option | Data Type | Possible Values | iOS | Android | Documentation | | ----------------------------- | --------- | ---------------------------------- | --- | ------- | ----------------------------------------------------------------------------------------------- | | `pageMode` | `String` | `single`, `double`, `automatic` | ✅ | ✅ | Configure the page mode. | | `firstPageAlwaysSingle` | `Boolean` | `true` / `false` | ✅ | ✅ | Option to show the first page separately. | | `showPageLabels` | `Boolean` | `true` / `false` | ✅ | ✅ | Displays the current page number. | | `documentLabelEnabled` | `Bool` | `true` / `false` | ✅ | ✅ | Shows an overlay displaying the document name. | | `spreadFitting` | `String` | `fit`, `fill`, `adaptive` | ✅ | ✅ | Controls the page fitting mode. `adaptive` mode only works on iOS and has no effect on Android. | | `invertColors` | `Boolean` | `true` / `false` | ✅ | ✅ | Inverts the document color if `true`. | | `androidGrayScale` | `Boolean` | `true` / `false` | ❌ | ✅ | Converts the document colors to grayscale. | | `iOSClipToPageBoundaries` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to clip content to page boundaries. | | `iOSBackgroundColor` | `UIColor` | - | ✅ | ❌ | Background color behind the page view. | | `iOSRenderAnimationEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Shows a `UIActivityIndicatorView` in the top-right corner while the page is rendering. | | `iOSRenderStatusViewPosition` | `String` | `top`, `centered` | ✅ | ❌ | Position of the render status view. | | `iOSAllowedAppearanceModes` | `String` | `default`, `sepia`, `night`, `all` | ✅ | ❌ | Allowed appearance modes for `BrightnessViewController`. | #### User Interface Options | Configuration Option | Data Type | Possible Values | iOS | Android | Documentation | | --------------------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------- | --- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `userInterfaceViewMode` | `String` | `automatic`, `automaticBorderPages`, `automaticNoFirstLastPage`, `always`, `alwaysVisible`, `alwaysHidden`, `never` | ✅ | ✅ | Configures the user interface visibility. | | `inlineSearch` | `Boolean` | `true` / `false` | ✅ | ✅ | Sets the type of search bar to be inline or modular. | | `immersiveMode` | `Boolean` | `true` / `false` | ✅ | ✅ | Hides the user interface if set to `true`. | | `toolbarTitle` | `String` | - | ✅ | ✅ | Sets the title of the toolbar. Note: For iOS, you need to set `documentLabelEnabled`, `iOSUseParentNavigationBar`, and `iOSAllowToolbarTitleChange` to `false` in your configuration before setting the custom title. | | `androidShowSearchAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables / disables document search functionality. | | `androidShowOutlineAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables an outline menu in the activity. | | `androidShowBookmarksAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the display of bookmarks. | | `androidShowShareAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the display of share features. | | `androidShowPrintAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the printing option in the menu (if applicable) for the document and the device. | | `androidShowDocumentInfoView` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the display of document information. | | `androidShowSettingsMenu` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the display of the settings menu. | | `iOSShouldHideUserInterfaceOnPageChange` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to hide / show the user interface when changing pages. | | `iOSShouldShowUserInterfaceOnViewWillAppear` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to hide / show the user interface when the page appears. | | `iOSShouldHideStatusBarWithUserInterface` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to hide / show the status bar with the user interface. | | `iOSShouldHideNavigationBarWithUserInterface` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to hide / show the navigation bar with the user interface. | | `iOSSearchMode` | `String` | `modal`, `inline` | ✅ | ❌ | Sets the type of search bar to be inline or modal. | | `iOSScrollOnEdgeTapEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Determines whether tapping on leading / trailing edges of the document view should trigger changing to the previous / next page. | | `iOSScrollOnEdgeTapMargin` | `float` | - | ✅ | ❌ | The margin in points from the view’s sides in which tapping should trigger scrolling to the previous / next page. | | `iOSUseParentNavigationBar` | `Boolean` | `true` / `false` | ✅ | ❌ | Set this to `true` to allow this controller to access the parent `navigationBar` / `navigationController` to add custom buttons. | | `iOSAllowToolbarTitleChange` | `Boolean` | `true` / `false` | ✅ | ❌ | Allow PSPDFKit to change the title of this view controller. | | `iOSShouldHideStatusBar` | `Boolean` | `true` / `false` | ✅ | ❌ | If `true`, the status bar will always remain hidden (regardless of the `shouldHideStatusBarWithUserInterface` setting). | | `iOSShowBackActionButton` | `Boolean` | `true` / `false` | ✅ | ❌ | Shows a floating back button in the lower part of the screen. | | `iOSShowForwardActionButton` | `Boolean` | `true` / `false` | ✅ | ❌ | Shows a floating forward button in the lower part of the screen. | | `iOSShowBackForwardActionButtonLabels` | `Boolean` | `true`/ `false` | ✅ | ❌ | Adds text labels representing the destination name to the back and forward buttons. | | `iOSSearchResultZoomScale` | `float` | - | ✅ | ❌ | Increase this to zoom to the search result. | | `iOSAdditionalScrollViewFrameInsets` | `UIEdgeInsets` | - | ✅ | ❌ | Additional insets to apply to the document scroll view's frame. | | `iOSAdditionalContentInsets` | `UIEdgeInsets` | - | ✅ | ❌ | Additional insets to apply to the layout's content. | | `iOSAllowedMenuActions` | `String` | `none`, `search`, `define`, `wikipedia`, `speak`, `all` | ✅ | ❌ | May be used to customize other displayed menu actions when text is selected. | | `iOSSettingsOptions` | `Set` | `scrollDirection`, `pageTransition`, `appearance`, `brightness`, `pageMode`, `spreadFitting`, `default`, `all` | ✅ | ❌ | Options that will be presented by `PDFSettingsViewController`. Defaults to `.default`. | | `iOSShadowEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Enable / disable page shadow. | | `iOSShadowOpacity` | `float` | - | ✅ | ❌ | Set the default `shadowOpacity`. | #### Thumbnail Options | Configuration Option | Data Type | Possible Values | iOS | Android | Documentation | | -------------------------------- | -------------- | -------------------------------------------------------------------- | --- | ------- | ------------------------------------------------------------------------------ | | `showThumbnailBar` | `String` | `none`, `default`, `floating`, `pinned`, `scrubberBar`, `scrollable` | ✅ | ✅ | Thumbnail bar mode controls the display of page thumbnails viewing a document. | | `androidShowThumbnailGridAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Displays an action bar icon to show a grid of thumbnail pages. | | `iOSScrubberBarType` | `String` | `horizontal`, `verticalLeft`, `verticalRight` | ✅ | ❌ | Controls the placement of the scrubber bar. | | `iOSThumbnailGrouping` | `String` | `automatic`, `never`, `always` | ✅ | ❌ | Option to set the grouping of thumbnails. | | `iOSThumbnailSize` | `CGSize` | - | ✅ | ❌ | Configure the size of the thumbnail. | | `iOSThumbnailInteritemSpacing` | `float` | - | ✅ | ❌ | Configure the spacing between thumbnails. | | `iOSThumbnailLineSpacing` | `float` | - | ✅ | ❌ | Configure the line spacing of thumbnails. | | `iOSThumbnailMargin` | `UIEdgeInsets` | - | ✅ | ❌ | Configure the margin for thumbnails. | | `iOSShouldCacheThumbnails` | `Boolean` | `true` / `false` | ✅ | ❌ | Option to enable / disable thumbnail caching. | #### Annotation, Forms, and Bookmark Options | Configuration Option | Data Type | Possible Values | iOS | Android | Documentation | | -------------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `editableAnnotationTypes` | `Set` | `none`, `undefined`, `all`, `Link`, `Highlight`, `Underline`, `Squiggly`, `StrikeOut`, `Text`, `Caret`, `FreeText`, `Ink`, `Square`, `Circle`, `Line`, `Signature`, `Stamp`, `Eraser`, `Image`, `Widget`, `FileAttachment`, `Sound`, `Polygon`, `PolyLine`, `RichMedia`, `Screen`, `Popup`, `Watermark`, `TrapNet`, `3D`, `Redact` | ✅ | ✅ | Set containing the annotation types that should be editable. | | `enableAnnotationEditing` | `Boolean` | `true` / `false` | ✅ | ✅ | Configuration to enable / disable editing all annotations. To selectively enable editing for specific types of annotations, use `editableAnnotationTypes`. | | `enableFormEditing` | `Boolean` | `true` / `false` | ✅ | ✅ | Configuration to enable / disable editing forms. This can also be accomplished by adding / removing the `Widget` annotation type from `editableAnnotationTypes`. | | `androidShowAnnotationListAction` | `Boolean` | `true` / `false` | ❌ | ✅ | Enables the list of annotations. | | `iOSShouldAskForAnnotationUsername` | `Boolean` | `true` / `false` | ✅ | ❌ | If `true`, asks the user to specify a custom annotation user name ("author") when creating a new annotation. | | `iOSLinkAction` | `String` | `none`, `alertView`, `openSafari`, `inlineBrowser`, `InlineWebViewController` | ✅ | ❌ | Sets the default link action for pressing on `LinkAnnotation`s. | | `iOSDrawCreateMode` | `String` | `separate`, `mergeIfPossible` | ✅ | ❌ | Determines whether new annotations are created when strokes end. | | `iOSAnnotationGroupingEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | If set to `true`, you can group / ungroup annotations with the multi-select tool. | | `iOSNaturalDrawingAnnotationEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Enables natural drawing for ink annotations. | | `iOSNaturalSignatureDrawingEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Enables natural drawing for signatures. | | `iOSAnnotationEntersEditModeAfterSecondTapEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | Controls if a second tap to an annotation that allows inline editing enters edit mode. | | `iOSCreateAnnotationMenuEnabled` | `Boolean` | `true` / `false` | ✅ | ❌ | If set to `true`, a long tap that ends on a page area that isn’t a text / image will show a new menu to create annotations. | | `iOSAnnotationAnimationDuration` | `float` | - | ✅ | ❌ | Overlay annotations are faded in. Set the global duration for this fade here. | | `iOSSoundAnnotationTimeLimit` | `float` | - | ✅ | ❌ | Describes the time limit for recording sound annotations, in seconds. | | `iOSBookmarkSortOrder` | `String` | `custom`, `pageBased` | ✅ | ❌ | Controls how bookmarks are displayed and managed. |