本页面提供了构成Stirling-PDF骨干网的主要组件的概述。它侧重于核心架构元素,包括控制器、实用程序和服务,这些元素为应用程序的功能提供动力。有关PDF处理的具体信息,请参阅PDF处理。
Stirling-PDF建立在分层架构之上,该架构提供了清晰的关注点分离,并支持应用程序提供的广泛的PDF处理功能。
来源
控制器层处理HTTP请求,管理用户交互,并协调PDF的处理。Stirling-PDF在Web控制器(提供HTML页面)和API控制器(处理操作)之间进行了清晰的划分。
来源
Web控制器负责页面渲染和返回相应的HTML模板。它们遵循一种一致的模式,其中每个端点方法
来源
API控制器负责实际的PDF处理操作。它们遵循一致的模式
@RestController和@RequestMapping注解来定义API端点MultipartFile参数的文件上传PdfUtils实用程序类来处理PDF文件实用程序为应用程序中的可重用功能提供支持。最重要的实用程序类是PdfUtils,它负责PDF操作。
PdfUtils类是PDF操作的中心实用程序,它提供了以下方法:
来源
PdfUtils中的关键方法包括:
textToPageSize:将文本表示(例如“A4”)转换为PDFBox的PDRectangle大小。getAllImages:从PDF资源中提取图像。convertFromPdf:将PDF页面转换为具有各种选项的图像。convertPdfToPdfImage:将PDF渲染为图像,并从这些图像创建新的PDF。imageToPdf:将各种图像格式转换为PDF。WebResponseUtils类提供了将处理后的数据转换为具有适当标头和内容类型的HTTP响应的方法。
ProcessExecutor实用程序处理与LibreOffice、Tesseract OCR和其他外部工具的集成,并管理进程执行和输出处理。
前端使用Thymeleaf模板、CSS和JavaScript的组合来创建用户界面。
来源
模板遵循模块化结构
common.html的片段包含共享的头部元素和脚本多个JavaScript文件处理客户端功能
来源
来源
该应用程序通过以下方式进行配置:
对于Pro用户,Stirling-PDF提供Google Drive集成。
来源
Stirling-PDF包含全面的国际化支持。
来源
国际化系统为整个应用程序提供本地化文本。
#{key}语法的消息键。Stirling-PDF的核心组件构成了一个结构良好、关注点分离的应用。
这些组件共同创建了一个全面的PDF处理平台,可以部署在各种环境中,并扩展其他功能。