Muhammad Arslan
聘请我
返回项目

PDF Toolkit

基于浏览器的 PDF 合并、拆分、整理、转换与压缩工具套件,文件始终保留在您的本地设备上。

角色: Solo full-stack development时间表: 2025类型: Web app / product

Next.js 16

React 19

Tailwind CSS 4

pdf-lib

PDF.js

Ghostscript (WASM)

dnd-kit

JSZip

包含三页虚拟项目文档的 PDF Toolkit 整理工具

概览

PDF Toolkit 是针对 iLovePDF 等工具的客户端替代方案。它涵盖了人们日常所需的各类 PDF 处理任务,包括合并文件、提取页面、重新排序与旋转、与图像互相转换以及压缩,且所有操作完全在浏览器内运行。无需上传任何文件。营销网站与工具目录置于一系列实时工作区前端,每个工作区都是一个独立的工具。

问题

市面上主流的在线 PDF 工具运行模式基本一致:将文档上传到服务器,处理完成后再下载结果。对于简单的图片格式转换,这毫无问题;但如果是已签署的合同、证件扫描件、医疗单据或财务报表,这就意味着要将高度敏感的文件交给第三方,并寄希望于他们的文件留存政策。开发一款能处理相同任务但将所有文件保留在用户本地机器上的工具,存在明确的市场空白。

我的角色与方法

我独立构建了整套产品:营销网站、工具目录以及每个实际可用的工具。核心决策在于架构层面:将所有实质性的 PDF 处理工作全部放在浏览器中执行。这一决定驱动了后续的一切设计,因为客户端处理意味着无需运维服务器、无单文件处理成本,并能明确给出隐私保证:您的文件绝不会被发送到任何地方。

技术栈

框架Next.js 16 (App Router) with React 19
PDF 编辑pdf-lib for structural operations (merge, split, page manipulation)
PDF 渲染PDF.js (pdfjs-dist) for previews and thumbnails
文件压缩Ghostscript compiled to WebAssembly, which runs entirely in the browser
交互体验dnd-kit for drag-and-drop page and file ordering; JSZip for bulk image downloads
样式Tailwind CSS 4 with a shadcn-inspired component set
数据分析PostHog

主要功能

合并 PDF合并多个文件,支持拖拽调整顺序,并导出为单个文档。
拆分 PDF提取指定页码范围(例如 1-2,5)到新文件中。
整理 PDF在导出前对页面进行重新排序、旋转和删除。
图像转 PDF将 JPG 和 PNG 图片转换为 PDF,支持拖拽控制顺序。
PDF 转图像将页面渲染为图像,支持缩略图预览并提供 ZIP 打包下载。
PDF 阅读器由 PDF.js 驱动的内置阅读器,支持缩放和页面导航。
压缩 PDF在浏览器中借助 Ghostscript 缩减文件体积。
便于检索收录的设计规范的营销网站,配备站点地图(sitemap)、robots 文件以及面向 AI 爬虫的 llm.txt。

图集

包含虚拟项目简介、系统结构图及发布核对清单的 PDF Toolkit 页面整理工具
PDF Toolkit 整理工具正在展示某示例 PDF 页面的 90 度旋转导出设置

挑战与解决方案

“无服务器架构”的难点在于浏览器必须承担服务器常规负责的所有工作。我将任务分派给两个引擎处理:pdf-lib 负责重构文档内部结构的结构性编辑,而 PDF.js 则负责页面展示或转换为图片时的所有渲染工作。

压缩功能是其中的核心难点。真正的 PDF 压缩通常依赖 Ghostscript,这是一款运行在服务器上的重型原生工具。为了兑现隐私承诺,我采用了 Ghostscript 的 WebAssembly 版本,使同一引擎能够直接在浏览器本地运行。既实现了真正的压缩效果,又无需上传任何文件。页面与文件的重排需要给人流畅自然的实体操控感而非繁琐操作,因此我使用 dnd-kit 实现了丝滑的拖拽排序体验,并使用 JSZip 将多张图片导出打包为单个 ZIP 文件,避免触发十几个独立的下载任务。

成果

结果是一个完整的类似 iLovePDF 的工具集,除了静态分发之外,无需后端,无需文件存储,也没有托管成本,同时提供了现有解决方案无法提供的东西:文档绝不会离开设备的可靠保证。这是一个真正有用的工具,展示了现代浏览器可以承担多少繁重的工作。

有类似的产品问题?

分享当前的产品情况、您需要的成果以及已经存在的限制条件。我将以此为基础来确定一个合理的首个里程碑。

Web 应用程序开发服务
启动您的项目简报
所有项目下一个项目VCM
PDF Toolkit:隐私优先、无需上传的浏览器端 PDF 工具集 | Muhammad Arslan