# php-pdf-tools **Repository Path**: zesso/php-pdf-tools ## Basic Information - **Project Name**: php-pdf-tools - **Description**: 一个纯前端 + 轻量PHP后端的离线PDF工具箱,所有文件处理在浏览器本地完成,不需要网络连接,不需要数据库。支持 Windows、Linux、macOS、Android、iOS 等所有能运行浏览器的平台。 - **Primary Language**: JavaScript - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-26 - **Last Updated**: 2026-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📦 多功能离线PDF工具箱 > 一个纯前端 + 轻量PHP后端的离线PDF工具箱,所有文件处理在浏览器本地完成,不需要网络连接,不需要数据库。支持 Windows、Linux、macOS、Android、iOS 等所有能运行浏览器的平台。 ## ✨ 功能一览 | 分类 | 功能 | 说明 | |------|------|------| | 📄 页面操作 | 合并PDF | 多文件合并,支持拖拽排序 | | | 拆分PDF | 按页码范围/每N页/按书签拆分 | | | 旋转页面 | 90°/180°/270° 旋转 | | | 删除页面 | 删除指定页面 | | | 页面重排 | 拖拽排序、预览、提取 | | | 页面裁剪 | 自定义裁剪区域 | | | 统一尺寸 | 统一所有页面尺寸 | | 🎨 内容编辑 | 添加水印 | 文字水印 | | | LOGO水印 | 图片水印 | | | 添加页码 | 自定义位置/格式 | | | 页眉页脚 | 自定义页眉页脚 | | | 手写签名 | 画板签名盖到PDF | | | 表单填写 | 填写PDF表单 | | 🔄 格式转换 | PDF转图片 | 导出为PNG/JPEG | | | 图片转PDF | 多图合并为PDF | | | PDF转超长图 | 拼接为长图 | | | 长图转PDF | 长图切分转PDF | | | 提取PDF图片 | 导出PDF内嵌图片 | | | 灰度/黑白 | 转为灰度或黑白 | | 📋 信息提取 | 文字提取 | 提取PDF文本内容 | | | 文档信息 | 查看/编辑元数据 | | | PDF比较 | 两个PDF差异对比 | **共 23 个工具,持续增加中。** ## 🚀 特性 - **🔒 完全离线** — 所有PDF处理在浏览器本地完成,文件不上传任何服务器 - **📁 零数据库** — 配置存储在 JSON 文件中,无需 MySQL/SQLite - **🌐 跨平台** — PHP 环境 + 浏览器即可运行,支持所有操作系统 - **🎨 美观界面** — 渐变Logo、毛玻璃导航、卡片悬浮动效、响应式布局 - **⚙️ 轻量后台** — 密码登录,可视化修改网站名称、底部信息 - **📦 资源本地化** — CSS/JS/图片全部本地化,无任何CDN依赖 ## 📐 环境要求 - **PHP** ≥ 7.4(仅需 PHP,不需要任何扩展) - **Web 服务器**:Apache / Nginx / IIS / 甚至 `php -S` - **浏览器**:Chrome / Edge / Firefox / Safari(需支持 WebWorker) ## 📥 安装部署 ### 方式一:Apache(推荐) 1. 将整个目录上传到网站根目录 2. 确保 `.htaccess` 文件存在(已包含) 3. 访问 `http://你的域名/` 即可使用 ### 方式二:Nginx 将 `.htaccess` 规则转换为 Nginx 配置: ```nginx server { listen 80; server_name your-domain.com; root /path/to/pdf-toolbox; index index.php; # 禁止访问配置文件 location ~ config\.json { deny all; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` ### 方式三:PHP 内置服务器(快速测试) ```bash cd pdf-toolbox php -S 0.0.0.0:8080 ``` 然后浏览器访问 `http://localhost:8080` ## ⚙️ 后台管理 访问 `http://你的域名/admin.php` - **默认密码**:`admin888` - **可修改项**:网站名称、版本号、LOGO图标、底部说明文字、管理密码 - **首次使用请务必修改默认密码** > 底部版权信息和开发者信息(抖音@NCYXF)为硬编码,不可通过后台修改。 ## 📂 目录结构 ``` pdf-toolbox/ ├── index.php # 主页面(读取config.json渲染) ├── admin.php # 后台管理页面 ├── config.json # 配置文件(JSON存储,无需数据库) ├── .htaccess # Apache配置(安全规则+URL重写) ├── nginx.htaccess # Nginx参考(空文件占位) └── assets/ ├── css/ │ └── style.css # 全部样式(25KB,含响应式+动画) ├── js/ │ ├── pdf.min.js # pdf.js 主库(365KB) │ ├── pdf-lib.min.js # PDFLib 库(611KB) │ ├── jszip.min.js # JSZip 库(117KB) │ ├── pdf-worker-loader.js # Worker引擎(内联base64,自包含) │ ├── pdf.worker.min.js # Worker源文件(备用) │ └── app.js # 应用主逻辑(125KB) └── img/ ├── icon-1.svg # SVG图标 └── icon-2.svg # SVG图标 ``` ## 🔧 技术栈 | 组件 | 技术 | 说明 | |------|------|------| | 后端 | PHP ≥ 7.4 | 仅用于读取JSON配置和渲染页面 | | 前端 | 原生 HTML/CSS/JS | 无框架依赖 | | PDF解析 | [pdf.js](https://github.com/mozilla/pdf.js) (v3.11) | Mozilla出品,渲染/解析PDF | | PDF编辑 | [PDFLib](https://github.com/Hopding/pdf-lib) | 修改/创建PDF | | 压缩 | [JSZip](https://github.com/Stuk/jszip) | 批量导出ZIP | | Worker引擎 | Base64内联 + Blob URL | 兼容所有协议,不依赖外部文件 | | 配置存储 | JSON 文件 | 零数据库依赖 | ## 🔒 安全说明 - 所有PDF处理在浏览器端完成,文件**不会上传到服务器** - `config.json` 通过 `.htaccess` 禁止直接访问 - 后台管理使用 Session 密码认证 - 无文件上传、无数据库、无外部API调用 ## 📝 配置文件说明 `config.json` 结构: ```json { "site_name": "你的网站名称", "site_version": "V1.0", "site_logo_emoji": "📦", "footer_text": "底部说明文字(支持HTML)", "admin_password": "你的管理密码" } ``` 也可直接编辑此文件(编辑后无需重启,即时生效)。 ## 🌍 浏览器兼容性 | 浏览器 | 最低版本 | 备注 | |--------|----------|------| | Chrome | 90+ | ✅ 推荐 | | Edge | 90+ | ✅ 推荐 | | Firefox | 88+ | ✅ | | Safari | 14+ | ✅ | | 移动端浏览器 | — | ✅ 响应式适配 | ## 📄 开源协议 本项目仅供学习和个人使用。 ## 👨‍💻 开发者 **抖音@NCYXF** --- > 💡 如果觉得好用,欢迎在抖音关注 @NCYXF 获取更多工具和更新动态!