Guides
Mode Config
ModeConfig controls the document interface's initial mode, available modes list, and UI visibility behavior.
Configuration Fields
| Field | Type | Default | Description |
|---|---|---|---|
initialViewMode | String | "viewer" | The initial mode when opening a document |
availableViewModes | String[] | All 5 modes | Modes the user can switch between |
uiVisibilityMode | String | "automatic" | UI visibility strategy |
Initial View Mode
initialViewMode determines the default mode when a document is opened:
| Value | Description |
|---|---|
viewer | Viewer mode (default) |
annotations | Annotation mode |
contentEditor | Content editor mode |
forms | Form mode |
signatures | Signature mode |
json
{
"modeConfig": {
"initialViewMode": "viewer"
}
}Available View Modes
availableViewModes controls which modes appear in the bottom mode switching bar. Modes not in the list will be unavailable to the user:
json
{
"modeConfig": {
"availableViewModes": [
"viewer",
"annotations",
"contentEditor",
"forms",
"signatures"
]
}
}If you only need viewer and annotation features:
json
{
"modeConfig": {
"initialViewMode": "viewer",
"availableViewModes": [
"viewer",
"annotations"
]
}
}UI Visibility Mode
uiVisibilityMode controls the display strategy for top/bottom toolbars:
| Value | Description |
|---|---|
automatic | Auto mode — tap the PDF page to toggle fullscreen state (default) |
always | Always show top and bottom toolbars |
never | Always hide top and bottom toolbars |
json
{
"modeConfig": {
"uiVisibilityMode": "automatic"
}
}Full Example
json
{
"modeConfig": {
"initialViewMode": "viewer",
"uiVisibilityMode": "automatic",
"availableViewModes": [
"viewer",
"annotations",
"contentEditor",
"forms",
"signatures"
]
}
}Code Example
java
CPDFConfiguration configuration = CPDFConfigurationUtils.normalConfig(
context, "tools_default_configuration.json");
// Set initial mode to annotation
configuration.modeConfig.initialViewMode = CPreviewMode.Annotation;
// Only keep viewer and annotation modes
configuration.modeConfig.availableViewModes = Arrays.asList(
CPreviewMode.Viewer,
CPreviewMode.Annotation
);
// Set toolbar to always visible
configuration.modeConfig.uiVisibilityMode = CPDFUIVisibilityMode.ALWAYS;kotlin
val configuration = CPDFConfigurationUtils.normalConfig(
context, "tools_default_configuration.json")
configuration.modeConfig.initialViewMode = CPreviewMode.Annotation
configuration.modeConfig.availableViewModes = listOf(
CPreviewMode.Viewer,
CPreviewMode.Annotation
)
configuration.modeConfig.uiVisibilityMode = CPDFUIVisibilityMode.ALWAYS