跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 福昕首页
  • 开发中心
  • SDK文档资料
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Web)
  • 标签:
  • AJAX,fetch API,getLayoutTemplate,HTML模板文件,loadTemplateFile,response.text (),template,UI布局,viewer组件,WebViewer,本地服务器,自定义

WebViewer 工程中使用 Template 实现 UI 布局的完整指南

  • 福昕知识库
  • 2025-09-10

在 WebViewer 工程开发中,通过 Template(模板)进行 UI 布局可灵活定制界面结构,满足个性化交互需求。以下是基于 Template 实现 UI 布局的详细操作步骤:

1. 定义布局模板结构

布局模板需以 <webpdf> 作为唯一根组件,内部可嵌套标准 HTML 标签(如<div>)与 WebViewer 自定义组件(如<xbutton>、<viewer>),构建完整界面框架。示例代码如下:

   <webpdf>
     <div class="toolbar">
       <xbutton>按钮示例</xbutton>
     </div>
     <div class="fv__ui-body">
       <viewer @touch-to-scroll></viewer>
     </div>
   </webpdf>

关键说明:<viewer> 组件是 PDF 内容渲染的核心区域,任何布局模板中都必须包含,否则无法正常显示 PDF 文件。

2. 通过 getLayoutTemplate 方法返回模板

需在 UIExtension.PDFUI 的 appearance 配置中,继承基础 Appearance 类并重写 getLayoutTemplate 方法,将步骤 1 中定义的模板内容以字符串形式返回,实现自定义布局与 WebViewer 的关联。示例代码如下:

   var CustomAppearance = UIExtension.appearances.Appearance.extend({
     getLayoutTemplate: function() {
       return [
         '<webpdf>',
         '    <viewer></viewer>',
         '</webpdf>'
       ].join('');
     }
   });

3. 配置 Viewer 选项并初始化 PDFUI

完成模板定义后,需通过 new UIExtension.PDFUI() 初始化实例,配置核心参数(如 SDK 路径、许可证信息、渲染目标元素),使自定义布局生效并加载 WebViewer 功能。代码示例如下:

   var pdfui = new UIExtension.PDFUI({
     viewerOptions: {
       libPath: './lib',
       jr: { licenseSN: 'yourSN', licenseKey: 'yourKey' }
     },
     renderTo: '#pdf-ui',
     appearance: CustomAppearance
   });

4. 动态修改布局(可选操作)

若需在 WebViewer 运行过程中调整 UI(如新增按钮、修改组件位置),可使用 WebViewer 提供的组件操作接口(如 after、prepend、replace),通过代码动态插入或修改界面元素。代码示例如下(新增按钮):

   pdfui.getComponentByName('target-component').then(component => {
     component.after('<xbutton>新按钮</xbutton>', [
       { target: '新按钮', config: { callback: () => alert('点击') } }
     ]);
   });

支持的核心接口:

  • after:在目标组件后方插入内容
  • prepend:在目标组件内部最前方插入内容
  • replace:用新内容替换目标组件

5. 使用指令与组件属性优化交互

在模板中可通过 @符号 绑定指令(如提示、手势响应),或通过自定义属性配置组件行为,增强 UI 交互体验。指令需与 WebViewer 对应的功能模块(如 uix-addons)匹配,确保功能生效。代码示例如下(带提示的按钮):
支持的接口包括after、prepend、replace等。

   <xbutton @tooltip tooltip-title="提示内容">带提示的按钮</xbutton>

注意事项

  1. SDK 版本适配:上述步骤基于 WebViewer SDK v10.0.0 编写,不同版本的 API 可能存在差异,实际开发中需结合所用版本的官方文档调整。
  2. 功能模块依赖:部分指令(如 @tooltip)或组件需依赖额外功能模块(如 uix-addons),需确保工程中已引入相关模块文件。
  3. 许可证有效性:viewerOptions.jr 中的许可证信息(licenseSN、licenseKey)需替换为真实有效的密钥,否则可能导致功能受限。

相关内容

自定义StorageDriver及事件分发实现指南

如何在树形组件中定义和使用书签面板?

如何在自定义 Item 组件中添加清除编辑状态铅笔注释的功能按钮

PDF文档合并功能实现指南

获取PDF文档各页面旋转角度的方法

【福昕管理控制台】受邀用户邀请重新发送操作指南

基于Nginx的代理服务器配置方案:解决跨域资源共享(CORS)问题

如何导入或导出PDF注释?

如何将PDF转换为图片并设置其分辨率?

PrintManager实现多文件打印

推荐内容

自定义StorageDriver及事件分发实现指南

如何在树形组件中定义和使用书签面板?

如何在自定义 Item 组件中添加清除编辑状态铅笔注释的功能按钮

WebViewer 工程中使用 Template 实现 UI 布局的完整指南

PDF文档合并功能实现指南

获取PDF文档各页面旋转角度的方法

【福昕管理控制台】受邀用户邀请重新发送操作指南

基于Nginx的代理服务器配置方案:解决跨域资源共享(CORS)问题

如何导入或导出PDF注释?

如何将PDF转换为图片并设置其分辨率?

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2025 福建福昕软件开发股份有限公司 版权所有

隐私策略