Stirling-PDF自定义配置:yaml文件参数详解与示例

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处理。

Stirling-PDF配置体系

配置文件默认路径为./configs/settings.yml,容器部署时可通过挂载/configs目录实现持久化配置。项目提供了多个示例配置文件,如exampleYmlFiles/docker-compose-latest.ymlexampleYmlFiles/docker-compose-latest-security.yml,可作为自定义配置的参考。

核心配置参数详解

系统配置(system)

参数类型默认值描述
defaultLocaleStringen-US系统默认语言,支持en_GB,en_US,ar_AR,de_DE等多种语言
visibilityBooleantrue是否允许搜索引擎抓取
showUpdateBooleanfalse是否显示更新通知
enableAlphaFunctionalityBooleanfalse是否启用Alpha功能

示例配置:

system:
  defaultLocale: zh_CN
  visibility: false
  showUpdate: true
  enableAlphaFunctionality: true

安全配置(security)

安全配置控制访问权限和认证方式,关键参数如下:

参数类型默认值描述
enableLoginBooleanfalse是否启用登录认证
loginAttemptCountint5登录尝试次数限制
loginResetTimeMinuteslong15登录尝试重置时间(分钟)
oauth2.enabledBooleanfalse是否启用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配置加载遵循以下优先级(从高到低):

  1. 环境变量(如Docker部署时的-e参数)
  2. 自定义yaml文件(./configs/settings.yml)
  3. 默认配置

常见问题解决

  1. 配置不生效:检查配置文件路径是否正确,容器部署时需确保挂载了/configs目录
  2. 登录失败:确认initialLogin配置是否正确,或尝试删除配置文件重新初始化
  3. 功能缺失:检查endpoints配置是否意外移除了相关功能

总结与展望

通过本文介绍的yaml配置参数,你可以轻松定制Stirling-PDF的各项功能,打造符合自身需求的PDF处理服务。随着项目的不断发展,未来将支持更多自定义选项,如主题定制、工作流配置等。

鼓励你尝试不同的配置组合,探索Stirling-PDF的更多可能性。如有配置问题或功能建议,欢迎参与项目贡献,共同完善这个强大的PDF处理工具。

点赞收藏本文,以便日后查阅配置指南。关注项目更新,获取最新配置特性!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值