Stirling-PDF自定义配置:yaml文件参数详解与示例
你是否在使用Stirling-PDF时遇到配置不灵活的问题?是否想要定制符合自己需求的PDF处理服务?本文将详细解析Stirling-PDF的yaml配置文件参数,带你轻松掌握自定义配置技巧,让PDF处理更高效。读完本文,你将能够:理解Stirling-PDF配置体系、掌握核心参数含义、学会编写自定义配置文件、解决常见配置问题。
配置体系概述
Stirling-PDF采用分层配置机制,支持通过环境变量和yaml文件进行灵活配置。配置加载优先级为:环境变量 > 自定义yaml文件 > 默认配置。核心配置类src/main/java/stirling/software/SPDF/model/ApplicationProperties.java定义了所有可配置参数,配置文件解析由src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java处理。
配置文件默认路径为./configs/settings.yml,容器部署时可通过挂载/configs目录实现持久化配置。项目提供了多个示例配置文件,如exampleYmlFiles/docker-compose-latest.yml和exampleYmlFiles/docker-compose-latest-security.yml,可作为自定义配置的参考。
核心配置参数详解
系统配置(system)
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| defaultLocale | String | en-US | 系统默认语言,支持en_GB,en_US,ar_AR,de_DE等多种语言 |
| visibility | Boolean | true | 是否允许搜索引擎抓取 |
| showUpdate | Boolean | false | 是否显示更新通知 |
| enableAlphaFunctionality | Boolean | false | 是否启用Alpha功能 |
示例配置:
system:
defaultLocale: zh_CN
visibility: false
showUpdate: true
enableAlphaFunctionality: true
安全配置(security)
安全配置控制访问权限和认证方式,关键参数如下:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| enableLogin | Boolean | false | 是否启用登录认证 |
| loginAttemptCount | int | 5 | 登录尝试次数限制 |
| loginResetTimeMinutes | long | 15 | 登录尝试重置时间(分钟) |
| oauth2.enabled | Boolean | false | 是否启用OAuth2认证 |
启用基本登录认证的配置示例:
security:
enableLogin: true
initialLogin:
username: admin
password: securepassword
loginAttemptCount: 3
loginResetTimeMinutes: 30
OAuth2认证配置
当需要集成第三方认证时,可配置OAuth2参数,如exampleYmlFiles/docker-compose-latest-security-with-sso.yml所示:
security:
oauth2:
enabled: true
issuer: "https://accounts.google.com"
clientId: "your-client-id.apps.googleusercontent.com"
clientSecret: "your-client-secret"
scopes: "openid,profile,email"
useAsUsername: "email"
provider: "google"
用户界面配置(ui)
自定义Stirling-PDF的界面显示内容:
ui:
appName: "企业PDF处理中心"
homeDescription: "安全高效的PDF处理解决方案"
appNameNavbar: "企业PDF"
端点配置(endpoints)
控制API端点的启用状态,可移除不需要的功能:
endpoints:
toRemove:
- "splitPDF"
- "rotatePDF"
groupsToRemove:
- "converters"
完整配置示例
以下是一个综合配置示例,涵盖安全、系统和UI等多个方面:
# 安全配置
security:
enableLogin: true
csrfDisabled: false
initialLogin:
username: admin
password: SuperSecretPassword123!
loginAttemptCount: 5
loginResetTimeMinutes: 15
oauth2:
enabled: false
# 系统配置
system:
defaultLocale: zh_CN
visibility: false
showUpdate: true
enableAlphaFunctionality: true
maxFileSize: 200
# 用户界面配置
ui:
appName: "我的PDF工具"
homeDescription: "本地托管的PDF处理解决方案"
appNameNavbar: "PDF工具"
# 端点配置
endpoints:
toRemove:
- "extractImages"
- "addWatermark"
# 指标配置
metrics:
enabled: true
配置实践与常见问题
配置加载优先级
Stirling-PDF配置加载遵循以下优先级(从高到低):
- 环境变量(如Docker部署时的-e参数)
- 自定义yaml文件(./configs/settings.yml)
- 默认配置
常见问题解决
- 配置不生效:检查配置文件路径是否正确,容器部署时需确保挂载了/configs目录
- 登录失败:确认initialLogin配置是否正确,或尝试删除配置文件重新初始化
- 功能缺失:检查endpoints配置是否意外移除了相关功能
总结与展望
通过本文介绍的yaml配置参数,你可以轻松定制Stirling-PDF的各项功能,打造符合自身需求的PDF处理服务。随着项目的不断发展,未来将支持更多自定义选项,如主题定制、工作流配置等。
鼓励你尝试不同的配置组合,探索Stirling-PDF的更多可能性。如有配置问题或功能建议,欢迎参与项目贡献,共同完善这个强大的PDF处理工具。
点赞收藏本文,以便日后查阅配置指南。关注项目更新,获取最新配置特性!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






