Skip to content
全新发布

PDF SDK 与 AI 文档处理

在 GitHub 获取完整的私有化部署SDK 包及 AI 智能文档处理能力,一键部署,快速构建您的文档处理工作流。

API 参考

查看器初始化后,公共 API 暴露在 window.instance

javascript
window.instance = {
  docViewer,                  // 底层 ComPDFKitViewer(实例 1)
  Core: { /* 引擎桥接层(约 120 个函数) */ },
  UI:   { /* UI API(约 62 个函数 + Header/Panel/Popup 类) */ },
};

本页按类别列出 instance.UI 接口。引擎(instance.Core)接口见 Core 桥接层

每个 apis/*.js 模块是工厂 (stores...) => (...args) => resultapis/index.js 在注册时注入 Pinia store。还暴露三个弃用别名:setThemeModesetActiveToolModesetActiceToolMode

头部与工具栏

UI.setHeaderItems(headerCallback)

在回调中定制头部/工具栏分组。回调接收 UI.Header 实例——所有头部数组的可变工作副本。

UI.Header 方法: get(dataElement)getItems()getHeader(group)insertBefore(item)insertAfter(item)delete(id?)shift()unshift(...items)push(...items)pop()update(items) ——均可链式,返回 Header

javascript
UI.setHeaderItems(header => {
  header.getHeader('default').push({ type: 'actionButton', dataElement: 'myBtn', onClick: () => {} });
});

UI.setToolbarGroup(groupDataElement)

切换活动工具栏分组。分组:toolbarGroup-View-Annotation-Form-Measurement-Sign-Security-Redaction-Compare-Editor-Document-Separation

元素(打开/关闭/启用/禁用)

API签名说明
openElement(dataElement: string) => void打开元素;关闭同侧兄弟面板。
closeElement(dataElement: string) => void
openElements(dataElements: string[]) => void
closeElements(dataElements: string[]) => void
isElementOpen(dataElement: string) => boolean
disableElements(dataElements: string[] | string) => void从 DOM 卸载(不禁用功能)。
enableElements(dataElements: string[] | string) => void
setActiveElementTab(dataElement: string, tab: string|number) => void切换活动子标签。

面板

UI.addPanel(panel)

添加自定义面板。panel = { dataElement, location: 'left'|'right', render: string | () => HTMLElement }

UI.setPanels(panelList)

替换整个面板列表。

UI.getPanels()Array<UI.Components.Panel>

返回深拷贝条目,包装为 Panel 实例。

UI.Components.Panel dataElement(读/写)、render(读/写)、location(读/写,非法 → 'right')、setLocation(location)delete()

工具

API签名说明
setActiveTool(dataElement: string) => voiddata-element 激活工具。
getActiveTool() => object
getTool(tool: string) => object工具样式预设的浅拷贝。
getToolColor(tool: string) => string
registerTool(tool: object, options: object) => boolean注册自定义批注工具。

主题与样式

API签名说明
setTheme(value: string|object) => void'light' / 'dark'
setCustomStyle(style: string) => void<head> 注入 <style>

本地化

API签名说明
setLanguage(language: string) => Promise<void>enzh-CNzh-TWfrthja。持久化到 localStorage
addLanguage(language: object) => void
removeLanguage(language: string) => void
setLanguages(languages: Array|object) => void

签名

API签名说明
setAutoJumpNextSign(value: boolean) => void
setSignatureDialogTabs(value: Array) => void
setSignatureDialogProperties(type: string, properties: object, replace?: boolean = false) => void
setEnableSignatureTemplates(value: boolean) => void
enableSignatureTool() => void
disableSignatureTool() => void

印章

API签名说明
setStampPanelTabs(tabs: Array) => void
setImportStamps(images: Array) => void
addCustomStamps(images: Array) => void持久化到 localStorage
setCustomStamps(stamps: Array) => void
getCustomStamps() => Array

表单

API签名说明
setFormBoardFold(fold: boolean) => void
setFormBoardPosition(position: string|number) => void
setHighlightForm(value: boolean) => void推送到 core

内容编辑

API签名说明
disableDocumentEditorSave() => void
disableDocumentEditorSaveAs() => void
enableDocumentEditorSave() => void
enableDocumentEditorSaveAs() => void
saveDocumentEditor() => Promise<void>保存编辑并重新加载文档。

弹窗

UI.addCustomModal(options)

注册自定义弹窗。options = { dataElement, disableBackdropClick?, disableEscapeKeyDown?, render?, header, body, footer },每个区域为 { title, className, style, children }。相同 dataElement 替换已有弹窗。通过 openElement / closeElement / disableElements 控制。

弹出菜单

四个属性,各实现 UI.Popupadd(items, dataElement?)update(items?)getItems()):

  • UI.textPopup
  • UI.annotationPopup
  • UI.contentEditorPopup
  • UI.cropPagePopup

通过 UI.disableElements 移除项。

用户/作者

API签名说明
setCurrentUser(user: string) => void回退到 'Guest'
setAnnotator(user: string) => voidsetCurrentUser 相同 action。
setAuthor(value: string) => void为假时为空字符串。
setHighlightLink(value: boolean) => void
getPassword() => string当前文档密码。

字体

API签名说明
setCustomFonts(fonts: Array) => void非数组则报错。
getCustomFonts() => Array
setFontSizes(fontSizes: Array) => void
getFontSizes() => Array

加载

API签名说明
setCustomLoading(value: boolean) => void

批注导入/导出

API签名说明
disableAnnotationExport() => void
enableAnnotationExport() => void
disableAnnotationImport() => void
enableAnnotationImport() => void

弃用别名

别名替代
setThemeModesetTheme
setActiveToolModesetToolbarGroup
setActiceToolMode(拼写错误)setToolbarGroup

各别名为发出 [ComPDF] "<name>" is deprecated and will be removed in a future version. Please use "<replacement>" instead. 并转发所有参数。

instance.Core(引擎桥接层)

完整 instance.Core 接口(约 120 个函数)见 Core 桥接层。常用条目:

  • 文档: loadDocumentgetPagesCountgetCurrentPagegetDocumentNamedownloadsaveDocumentEditcompare
  • 导航: nextPagepreviousPagerotateClockwiserotateCounterclockwisezoomInzoomOutscaleChangedgetScaleswitchScrollModeswitchSpreadModerequestFullScreenModetoggleSidebarpageToWindowwindowToPage
  • 搜索: searchsetActiveSearchResultclearSearchResultsgetSelectedText
  • 批注: getAnnotationsListgetAnnotationManagergetAnnotationHistoryManagerimportAnnotationsexportAnnotationsexportXfdfselectAnnotationjumpToAnnotationsetAnnotationStylesaddAnnotationImagehandleReplyAnnotation
  • 工具: setToolswitchToolsetToolModegetToolModegetToolStylessetToolStylesregisterTool
  • 表单: handleFieldenableSkipNoRequireddisableSkipNoRequiredsetAutoJumpNextSigngetRequiredFormSign
  • 签名: handleSigngetSignaturedeleteSignatureverifySignaturegetVerificationResultloadCertificatesaddToTrustedCertificateListscheckCertificateIsTrusted
  • 安全: checkPermissionPasswordgetPermissionsetPasswordremovePasswordcheckPassword
  • 密文/扁平化: applyRedactionsflattenPdfflattenPdfDownload
  • 事件: eventBusaddEventremoveEvent
  • 用户: setCurrentUsergetCurrentUserisUserAdminisReadOnlyModeEnabled

相关