Skip to content
ComPDF
DemoSampleAPI ReferenceFAQ
New Release

Open-Source PDF SDK & AI Document Processing

Get the full self-hosted SDK and AI document processing on GitHub. One-click deploy to quickly build your document workflows.

Guides

Mode Config

ModeConfig controls the document interface's initial mode, available modes list, and UI visibility behavior.

Configuration Fields

FieldTypeDefaultDescription
initialViewModeString"viewer"The initial mode when opening a document
availableViewModesString[]All 5 modesModes the user can switch between
uiVisibilityModeString"automatic"UI visibility strategy

Initial View Mode

initialViewMode determines the default mode when a document is opened:

ValueDescription
viewerViewer mode (default)
annotationsAnnotation mode
contentEditorContent editor mode
formsForm mode
signaturesSignature 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:

ValueDescription
automaticAuto mode — tap the PDF page to toggle fullscreen state (default)
alwaysAlways show top and bottom toolbars
neverAlways 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