---
## 项目概述
PDF文档转换系统是一个基于API构建的在线文档格式转换平台。系统由四个服务模块组成:后端API服务、管理后台、H5移动端和PC桌面端,数据库采用MySQL。
## 一、文档转换功能(核心)
系统支持三十余种文档格式之间的互转,所有文件上传后存储在服务器本地,转换结果通过第三方转换API生成并下载回本地。
### 支持的转换类型分为三大类:
第一类,PDF转其他格式,包括:PDF转Word、PDF转Excel、PDF转PPT、PDF转图片(PNG/JPG/GIF等)、PDF转HTML、PDF转文本、PDF转PDF/A标准格式、PDF转AZW3电子书格式。
第二类,其他格式转PDF,包括:Word转PDF、Excel转PDF、PPT转PDF、图片转PDF、CAD转PDF、OFD转PDF、CAJ转PDF、TXT转PDF、RTF转PDF、ODT转PDF、ODS转PDF、ODP转PDF、EPUB转PDF、AZW3转PDF、EPS转PDF、Markdown转PDF。
第三类,其他格式互转,包括:Word转文本、Excel转文本、Markdown转文本、Word转Markdown、文本转Markdown、Markdown转Word、文本转Word、Excel转CSV。
### 核心转换流程:
1. 用户在前端选择转换格式并上传文件,后端接收文件后存储到服务器upload/sources目录。
2. 后端计算文件MD5值,检查是否存在相同文件已完成转换(秒传机制)。若命中则直接返回已有结果,不消耗API配额。
3. 后端校验用户剩余配额和当前并发任务数(默认同时3个)。配额不足或并发超限会返回提示。
4. 调用第三方转换API创建转换任务,获取task_id后保存到数据库,状态设为处理中。
5. 后端启动轮询,以1秒间隔查询API获取任务状态,单次请求内轮询时长上限30秒。超过30秒后转为后台持续轮询。
6. 前端轮询后端接口获取进度更新,实时展示进度条和状态。
7. 转换完成后,后端下载结果文件到服务器uploads/results目录,更新任务状态为完成,扣减用户配额。转换失败则不扣减配额,已扣的自动退还。
### 特殊转换功能:
图片批量转PDF:支持同时上传多张图片(上限20张),可拖拽排序、设置页面大小(A3/A4/Letter/原尺寸)、页面方向(横向/纵向)、边距,可选择合并为一个PDF或每张图片单独生成PDF。
PDF转多张图片:将PDF每一页转为独立图片,支持设置输出格式(PNG/JPG等)和DPI分辨率。
URL方式创建转换:支持通过文件URL直接创建转换任务,无需上传文件。
文件去重与秒传:上传文件时计算MD5,查询是否存在相同MD5且转换成功的记录,若存在则直接返回已有结果,避免重复转换。
### 高级选项:
加密PDF支持:可输入文件密码进行转换。
页面范围选择:支持指定转换的页面范围,如"1-5,9-12"。
批量下载:PC端支持勾选多个已完成的任务,后端打包为ZIP文件下载,单次上限50个文件。
## 二、用户系统
### 角色体系:
系统定义了四种用户角色:普通用户(role=0)、VIP用户(role=1)、管理员(role=2)、超级管理员(role=3)。
### 注册与登录:
支持用户名加密码注册,注册时需输入图形验证码。登录采用JWT双Token机制,access_token有效期2小时,refresh_token有效期7天,支持无感续期。登录和注册行为均记录到login_logs表,包含IP地址、客户端类型、是否成功等信息。
### 配额管理:
普通用户注册赠送10次转换,每次成功转换消耗1个配额。VIP用户配额为-1表示不限制次数。游客不登录也可转换,每日2次(基于IP限制)。配额扣减使用数据库行锁保证原子性。管理员可在后台手动调整单个用户配额或批量调整。
### 忘记密码:
支持通过邮箱验证码重置密码,包含发送验证码、验证验证码、重置密码三个步骤。
### 个人中心:
用户可查看和修改个人信息(昵称、邮箱、手机号),修改密码需验证旧密码,支持上传头像。可查看剩余配额、VIP到期时间等信息。
### 多端登录控制:
支持配置允许同时登录或单一设备登录。单一设备模式下,新设备登录会使旧设备的token失效,前端检测到401状态码且无有效refresh_token时弹窗提示并跳转登录页。
### 并发控制:
每个用户有同时转换任务数限制(默认3个),超过后提示等待当前任务完成。
## 三、内容管理
### 文章系统:
文章分为四个分类:使用指南(guide)、常见问题(faq)、公告通知(announcement)、教程(tutorial)。文章内容采用富文本编辑器编写,支持图文混排和HTML渲染。前端文章详情页会展示富文本内容并自动增加浏览量。支持按分类筛选、按标题搜索文章,分页加载。
预置示例文章包括:如何使用PDF转Word、如何批量转换、图片转PDF教程、转换失败怎么办、配额计算规则、如何成为VIP、文件安全与隐私说明、支持的文件格式列表、指定页面转换、加密PDF转换、API对接指南等。
### 公告系统:
公告分为三种类型:通知(notice)、更新(update)、系统维护(maintenance)。每条公告可设置生效开始时间和结束时间,仅有效期内的已发布公告会展示给用户。支持置顶功能,置顶公告优先展示。前端首页有公告轮播条,公告列表页面展示当前有效的公告。
预置示例公告包括:新用户注册赠送10次转换、VIP用户享不限制次数转换、每周日凌晨例行维护。
## 四、管理后台
管理后台提供系统管理功能,按菜单结构组织:
### 仪表盘:
展示平台核心数据概览,包括:今日转换数、总用户数、今日新增用户、总转换次数等数据卡片。提供转换趋势折线图(近7天/30天)、各格式转换占比饼图、转换成功率和失败率统计、各格式平均转换耗时统计。展示日活/周活/月活用户数量。第三方API调用统计包括今日调用次数、成功率、失败原因分布。展示近期转换任务列表。展示服务器存储使用情况、API配额剩余、API健康状态。API额度低于阈值时显示告警提示。
### 用户管理:
以分页表格展示用户数据,支持按用户名、邮箱、手机号搜索,按角色和状态筛选。可查看用户详细信息弹窗(含登录记录)。支持启用/禁用用户、修改用户角色、调整用户配额、批量调整配额。支持删除用户和强制下线操作。破坏性操作均有二次确认。
### 任务管理:
展示转换任务列表,支持按状态、格式类型、时间范围、客户端类型筛选,按用户名和文件名搜索。可查看任务详情弹窗(源文件、结果、耗时、错误信息等),支持在线预览源文件和结果文件(PDF/图片格式)。管理员可手动重试失败任务、手动标记任务为完成或失败。支持单条删除和批量删除任务,支持导出任务数据为CSV文件。
### 文章管理:
文章列表展示标题、分类、状态、浏览量和创建时间。文章编辑器使用富文本编辑器,支持标题、正文、封面图。图片上传功能将图片存储到服务器并返回URL插入编辑器。支持文章分类管理、发布/下架切换、预览渲染效果、删除操作。
### 公告管理:
公告列表展示各类公告,支持按状态和类型筛选。创建和编辑公告使用富文本编辑器,可设置生效时间范围、类型、是否置顶。支持发布/下架和删除操作。
### 格式配置管理:
管理系统支持的转换格式配置。每条格式包含:任务类型标识、显示名称、源格式、目标格式、图标、描述说明、消耗算粒数、文件大小上限、排序值、是否热门。支持新增格式、编辑格式、启用/禁用(控制前端是否展示)、设置/取消热门标记。支持调整格式显示顺序。
### 系统配置:
管理员可配置:站点名称、站点Logo、站点描述、首页公告内容、注册开关、新用户默认配额、游客每日次数、文件大小上限、第三方转换API Key和Endpoint、转换结果文件保留天数(默认7天)、源文件保留天数(默认30天)、API额度告警阈值、JWT密钥和Token有效期、是否允许同时登录、联系邮箱和电话。每次配置变更自动记录到配置变更日志表,管理员可查看变更历史。
### 管理员账号管理(超级管理员可见):
超级管理员可查看管理员账号列表,创建新管理员,编辑管理员信息(用户名、密码、角色),启用/禁用管理员账号,删除管理员(不可删除自己)。
### 管理员个人设置:
管理员可修改自己的昵称和邮箱,修改登录密码,查看自己的近期登录记录。
### 操作日志与登录日志:
操作日志记录管理员关键操作行为,包括操作模块、动作、对象、详情、IP地址、浏览器UA,支持按模块、用户、时间范围筛选。登录日志记录用户的登录、登出、注册行为,包含成功/失败状态和失败原因,支持按用户、类型、状态、时间筛选。
### 文件管理:
展示已上传文件列表,支持按类型、用途、时间筛选。提供文件存储统计(图表展示各类文件占用空间)。支持删除文件记录和物理文件,一键清理超过过期天数的文件,一键清理无关联记录的孤立文件。
### 数据备份(超级管理员可见):
导出数据库为SQL文件并触发浏览器下载,展示历史备份记录。
## 五、H5移动端功能
H5前端面向移动端用户,采用底部三栏导航(首页/历史/我的)。
### 首页:
顶部展示Banner(站点名称和公告轮播),格式选择区域展示可用的转换格式卡片,按近期使用和热门格式优先排列。已登录用户展示近期使用的格式。底部展示平台数据统计(已服务用户数、累计转换次数)。数据加载中展示骨架屏。
### 转换页(核心页面):
用户选择格式后进入转换页。支持点击上传文件,实时显示文件名和大小。上传前校验文件类型,不支持的格式即时提示。大文件上传显示进度条。支持PDF和图片格式在线预览。可选择PDF加密文件输入密码,指定转换页面范围。点击开始转换后按钮进入loading状态防重复提交。转换中实时显示进度条和状态文字。转换完成后展示结果文件信息和下载按钮。转换失败展示错误信息和重试按钮。支持浏览器推送通知(需用户授权)。支持生成二维码分享。游客转换后提示注册以获得更多次数。
### 图片批量转PDF:
支持选择多张图片,缩略图展示并支持拖拽排序,可单张删除。提供页面设置(大小、方向、边距)、合并设置(合并或拆分)、旋转设置。点击开始批量提交转换。
### 转换历史:
按时间倒序展示转换记录,每条记录显示文件名、格式、状态标签(排队中/处理中/已完成/失败)、创建时间。支持按文件名搜索。已完成任务可直接下载,失败任务可重试。支持删除记录(含二次确认)。支持下拉刷新列表和上拉加载更多分页。无记录时展示空状态插画。
### 用户模块:
包含登录、注册(含图形验证码)、忘记密码(通过验证码重置)流程。
### 文章与公告:
文章列表按分类展示,支持搜索和分页加载。文章详情渲染富文本内容。公告列表展示当前有效的公告,置顶优先。
## 六、PC桌面端功能
PC前端面向桌面端用户,采用顶部导航栏布局(首页/转换/历史/帮助/公告/登录或用户信息)。
### 首页:
顶部标题Hero区域配以快速开始按钮。滚动公告栏展示近期公告。已登录用户展示近期使用的转换格式。格式展示区按三大类分组排列(PDF转其他格式、其他格式转PDF、其他格式互转),热门格式标记"热门"标签。展示平台功能特点(安全可靠、快速转换、高质量输出、批量处理)。底部数据统计卡片(已服务用户、累计转换次数、转换成功率)。数据加载中展示骨架屏。
### 转换工作台:
左侧格式选择面板,展示可用转换格式(近期使用置顶、热门优先),可搜索格式。右侧拖拽上传区域,支持点击选择文件和拖拽文件。拖入不支持的格式即时提示。支持文件在线预览。展示文件信息(名称、大小、页数)。高级选项折叠面板包含密码输入和页面范围选择。开始转换按钮,转换中显示loading。实时进度条加百分比加状态文字。转换完成展示结果预览和下载按钮,支持桌面通知。支持生成二维码分享和复制链接。游客转换后提示注册。
### 批量转换:
支持同时上传多个文件(拖拽或选择),表格展示待转换文件及其上传进度。文件统一转为同一目标格式。展示每个文件的独立转换状态。完成后打包ZIP下载。单个失败文件可单独重试。
### 图片批量转PDF(PC增强版):
网格展示已上传图片的缩略图,支持拖拽排序。每张图片可单独删除或旋转。提供页面大小、方向、边距设置,合并或拆分的选项。
### 转换历史:
表格展示转换任务,支持按状态、格式、时间范围筛选,按文件名搜索。支持批量操作:批量下载(ZIP打包)和批量删除(二次确认)。单文件可下载、在线预览源文件和结果文件、重试失败任务。分页展示,无记录时展示空状态。
### 用户模块:
与H5端功能一致,包含登录、注册(含图形验证码)、忘记密码流程。个人中心采用左侧菜单式布局,展示基本信息、修改密码、配额信息、VIP状态,支持生成邀请二维码。
### 帮助中心和公告中心:
帮助中心按分类导航(使用指南/常见问题/公告/教程),文章列表支持搜索,详情页渲染富文本。公告中心展示当前有效公告,置顶优先,支持查看详情。
## 七、后端核心机制
### 任务状态机:
任务状态采用严格单向流转,状态码包括:2准备中、3等待中、4处理中、1完成、-1失败、-2上传失败、-3下载失败、-8处理超时。状态不可逆向回退。失败任务可重试(上限3次),重试时状态从-1变为4。超时任务管理员可手动重试。管理员可手动标记任务为完成或失败。
### 轮询与崩溃恢复:
服务启动时扫描数据库中状态为处理中(state=4)的任务,对每个任务重新发起API轮询,确保服务重启后不丢失正在进行的任务。后台定时器对未完成任务持续查询API状态。
### 定时任务:
每5分钟检查超时任务(创建超过30分钟且仍在处理中),标记为处理超时(state=-8)。每小时清理过期文件(转换结果默认保留7天,源文件保留30天)。每5分钟执行API健康检查,连续3次失败标记为不可用并在前端展示"服务暂时不可用"提示。
### 并发安全:
前端按钮点击后loading禁用防重复提交。后端同一文件加同一格式在5分钟内不重复创建任务(幂等校验)。单用户并发任务数不超过max_concurrent(默认3)。创建任务涉及多步操作使用数据库事务保证一致性。配额扣减使用SELECT FOR UPDATE行锁保证原子性。转换失败时在事务内自动退还已扣配额。
### 文件存储策略:
文件存储在服务器本地uploads目录下,按类型分子目录(sources源文件、results结果文件、avatars头像、articles文章图片、announcements公告图片),文件名使用UUID加原始扩展名。前端通过后端接口访问文件,不直接暴露文件系统路径。结果文件到期后由定时任务自动清理。
### 安全机制:
密码使用bcrypt加密存储。文件上传限制类型(MIME校验加扩展名校验)和大小(上限100MB)。管理接口需管理员权限,超级管理员专属接口需role=3。数据库查询使用参数化查询防SQL注入。富文本内容进行过滤防XSS。用户只能访问和操作自己的文件及任务。API Key仅后端存储不暴露给前端。关键操作(注册、忘记密码)需图形验证码防机器人。登录接口限流5次/分钟,转换接口限流10次/分钟。破坏性操作需二次确认。系统配置变更记录审计日志。
### 数据库设计:
共10张数据表:users用户表、conversion_tasks转换任务表、files文件表、articles文章表、system_config系统配置表、operation_logs操作日志表、format_configs转换格式配置表、announcements公告表、login_logs登录日志表、config_change_logs配置变更日志表。每张表均配有索引以优化查询性能。SQL脚本内置了示例数据,包括7个用户账号、32种格式配置、11篇文章、3条公告、多条任务记录、操作日志、登录日志和配置变更记录。
## 短标题(5-10字,适合列表页、卡片展示)
1. 在线文档格式转换系统源码
2. PDF转Word在线平台源码
3. 多格式文档互转系统源码
4. 文档转换工具完整解决方案
5. PDF接口二次开发转换平台
6. 文件格式批量转换系统
7. 图片转PDF合并工具源码
8. 在线PDF处理平台全套代码
## 中标题(10-20字,适合详情页、项目简介)
9. 支持三十余种格式互转的文档转换平台源码
10. PDF转Word转Excel转PPT一站式文档处理系统
11. 带管理后台的在线文档格式转换网站源码
12. 文件上传自动转换并支持批量下载的平台源码
13. 多端适配的文档转换工具PC端和移动端全套代码
14. 含用户体系的在线PDF转换网站完整项目
15. 支持游客免费使用的文档格式互转平台源码
16. Word图片Excel互转PDF在线工具完整源代码
17. 文件秒传去重机制的文档格式转换系统源码
18. 支持加密PDF和指定页面范围转换的工具源码
19. 带转换历史记录管理的文档处理平台全套代码
20. 含公告系统和帮助中心的文档转换网站源码
## 长标题(20-35字,适合SEO详情页、搜索引擎展示)
21. 基于第三方转换接口二次开发的在线文档格式转换平台完整项目源码
22. PDF转Word图片Excel和三十余种文档格式互转的在线处理工具全套代码
23. 含用户注册登录配额管理和VIP会员体系的文档转换系统网站源码
24. 支持批量上传批量转换打包ZIP下载的文档格式处理平台全套源代码
25. 带独立管理后台可配置格式和配额的文档转换工具完整前后端项目代码
26. PC端和移动端双版本适配的在线文档格式互转工具全套源码解决方案
27. 支持文件MD5去重自动清理过期文件的文档转换平台完整项目源码
28. 含操作日志登录日志和配置审计的文档格式转换管理系统全套代码
29. 集成富文本编辑器可发布文章和公告的文档处理工具网站完整源码
30. 支持PDF加密文件密码转换和页面范围选择的在线文档处理平台项目代码
## 场景化标题(针对特定搜索意图)
31. 企业内部文档格式转换系统搭建方案含完整前后端源码
32. 可用于毕业设计或课程设计的文档转换平台全套项目代码
33. 适合二次开发的在线文档处理工具前后端分离架构完整源码
34. 可作为SaaS平台基础框架的文档格式转换系统源代码
35. 从零搭建在线PDF转换网站的完整项目源码及数据库脚本