本页面提供了构成 Stirling-PDF 应用程序用户界面的主要 Web 界面组件的技术文档。它涵盖了导航、文件处理、工具卡片和主题管理等 UI 元素的结构和交互模式。有关 PDF 处理功能的信息,请参阅 PDF Processing。
Stirling-PDF 的 Web 界面使用 Thymeleaf 模板、Bootstrap 进行样式设计以及自定义 JavaScript 实现客户端功能。UI 遵循基于组件的架构,可重用的片段被集成到不同的页面中。这些组件处理从用户导航、文件选择到主题管理和国际化的一切事务。
来源
导航栏是提供对应用程序工具和设置访问的关键组件。它实现在 navbar.html 中作为 Thymeleaf 片段,并包含在所有页面中。
来源
导航栏包含几个关键功能:
每个组件都使用自定义 CSS 进行样式设计,并使用 JavaScript 增强交互性。
文件选择组件是用户界面的核心部分,提供增强的文件上传体验。
来源
文件选择组件提供诸如以下的高级功能:
文件输入通过 fileInput.js 进行自定义,该脚本会覆盖默认的浏览器文件输入行为,以提供更一致和功能更丰富的体验。
主页(home.html)作为应用程序的主入口点,按类别显示可用的工具。
来源
每个工具都由一个卡片组件表示,该组件提供有关工具的信息并链接到其页面。
来源
下载处理组件(downloader.js)负责管理表单提交、文件处理请求和处理后的文件下载。
来源
Stirling-PDF 通过广泛的国际化系统支持 39 种以上的语言。
来源
国际化系统使用 Thymeleaf 的消息表达式语法(#{key})来引用翻译后的字符串。每种语言都有自己的属性文件,其中包含所有 UI 文本的键值对。该系统会检测用户的首选语言或使用存储在本地存储中的用户选择的语言。
主题系统同时提供浅色和深色模式,并通过导航栏中的切换按钮进行控制。
来源
主题系统使用 CSS 变量来定义颜色和样式,这些可以轻松地在浅色和深色模式之间切换。主题偏好存储在浏览器的本地存储中,并在页面加载时应用。该系统在所有 UI 组件中提供了一致的样式。
下表列出了主要的重用 UI 组件。
| 组件名称 | 目的 | 位置 | 脚本依赖 |
|---|---|---|---|
| 导航栏 | 主导航 | fragments/navbar.html | navbar.js, languageSelection.js |
| 通用头部 | 通用的 HTML head 元素 | fragments/common.html | fetch-utils.js, darkmode.js |
| 文件选择器 | 文件选择界面 | fragments/common.html:232-310 | fileInput.js, DecryptFiles.js |
| 工具卡片 | 工具表示 | fragments/card.html | homecard.js |
| 错误横幅 | 错误显示 | fragments/errorBannerPerPage.html | - |
| 设置模态框 | 应用程序设置 | fragments/navbar.html:196-267 | settings.js |
| 功能组 | 工具类别容器 | fragments/featureGroupHeader.html | - |
| 语言条目 | 语言选择项 | fragments/languageEntry.html | - |
来源
所有工具特定的页面都遵循一致的结构,以提供统一的用户体验。
来源
工具页面通过 GeneralWebController.java 和 OtherWebController.java 中的 Spring 控制器方法映射到特定的端点。每个控制器方法设置适当的视图名称,并在返回视图之前添加任何必要的模型属性。
Web 界面通过表单提交和 AJAX 请求与后端进行通信。
来源
集成通过 CSRF 令牌进行保护,这些令牌会自动添加到所有表单提交和 AJAX 请求中。downloader.js 脚本处理用于处理 PDF 文件的表单提交,而 fetch-utils.js 提供了用于向后端发送 AJAX 请求的实用程序。
UI 包含条件元素,这些元素仅在运行 Enterprise 或 Pro 版本时显示。
来源
Enterprise Edition 的功能通过 EEAppConfig.java 中定义的 Spring bean 来控制。这些 bean 使用 @{@beanName} 语法注入到 Thymeleaf 模板中,以根据安装的版本有条件地显示或隐藏 UI 元素。
应用程序的 Web 控制器将 URL 映射到视图模板并提供模型数据。
来源
Web 控制器负责处理 HTTP 请求、准备模型数据并返回适当的视图模板。它们设置诸如 currentPage 等属性,该属性用于高亮活动导航项并为视图模板提供上下文。
Stirling-PDF 的 Web 界面基于模块化组件架构构建,使用 Thymeleaf 模板,并在 UI 组件和后端功能之间实现强大的分离。主要 UI 组件包括:
这些组件协同工作,为 PDF 操作任务提供了一个连贯且直观的用户体验。UI 的设计旨在响应性好、可访问且用户友好,同时提供对后端强大 PDF 处理功能的访问。