Skip to content
ComPDF
DemoFAQ
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

BOTA Configuration

The BOTA interface displays Bookmarks, Outline, and Annotations for a PDF document.

By configuring BOTA, you can control which sections are displayed and customize menu options within each section.

Configure BOTA through CPDFConfiguration.globalConfig.bota. If you do not provide this configuration, the SDK shows outline, bookmark, and annotations tabs by default.

Enable Specific Tabs

Use CPDFBotaConfig.tabs to configure the tabs to show:

dart
CPDFConfiguration config = CPDFConfiguration(
  globalConfig: const CPDFGlobalConfig(
    bota: CPDFBotaConfig(
      tabs: [
        CPDFBotaTabs.outline,
        CPDFBotaTabs.annotations
      ]
    )
  )
);

Example:

AndroidiOS
Android BOTA TabsiOS BOTA Tabs

Configure Annotation Menus

BOTA supports both global menus and per-annotation menus:

dart
CPDFConfiguration(
  globalConfig: const CPDFGlobalConfig(
    bota: CPDFBotaConfig(
      tabs: [
        CPDFBotaTabs.bookmark,
        CPDFBotaTabs.annotations,
      ],
      menus: CPDFBotaMenuConfig(
        annotations: CPDFBotaAnnotationMenuConfig(
          global: [
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.importAnnotation),
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.exportAnnotation),
            CPDFBotaMenuItem(id: CPDFBotaAnnotGlobalMenu.removeAllAnnotation),
          ],
          item: [
            CPDFBotaMenuItem(id: CPDFBotaAnnotItemMenu.reviewStatus, subMenus: [
              CPDFReviewState.accepted,
              CPDFReviewState.cancelled,
              CPDFReviewState.none,
            ]),
            CPDFBotaMenuItem(id: CPDFBotaAnnotItemMenu.more, subMenus: [
              CPDFBotaAnnotMoreMenu.delete
            ]),
          ]
        )
      )
    )
  )
)

Example:

AndroidiOS
Android Annotation MenuiOS Annotation Menu

Annotation Global Menu Options

OptionDescription
CPDFBotaAnnotGlobalMenu.importAnnotationImport annotations
CPDFBotaAnnotGlobalMenu.exportAnnotationExport annotations
CPDFBotaAnnotGlobalMenu.removeAllAnnotationRemove all annotations
CPDFBotaAnnotGlobalMenu.removeAllReplyRemove all annotation replies

BOTA Configuration Fields

FieldDescription
tabsTabs displayed in the BOTA panel. Supported values are outline, bookmark, and annotations.
menus.annotations.globalGlobal actions displayed in the annotations list toolbar.
menus.annotations.itemActions displayed for each annotation item. Use subMenus to limit nested review or more-menu options.

Note: BOTA menu customization applies to the SDK-provided BOTA panel. If you build a custom BOTA screen with CPDFReaderWidgetController, handle those menu actions in your own UI.

Annotation Review Status Submenu

OptionDescription
acceptedAccepted
rejectedRejected
cancelledCancelled
completedCompleted
noneNone

More Menu Options

OptionDescription
addReplyAdd annotation reply
viewReplyView annotation reply
deleteDelete annotation