夜雨聆风学习资料网

ARTICLE · 1240819

PDF,能改的要钱,免费的只能读,看看这个开源项目,能读能改!!

PDF,能改的要钱,免费的只能读,看看这个开源项目,能读能改!!

一份 80 页的合同,你只想改第 12 页的一个数字。

打开某个在线 PDF 编辑器,先登录,再上传,等进度条,改完下载,最后发现页脚被重排了。

或者你打开本地的老牌阅读器,发现它只能看,不能改;能改的那个,又要订阅。

PDF 这个格式诞生三十多年,工具链却一直是这副样子:要么重,要么贵,要么把你的文件传到别人服务器上。

PdfCraft 想啃的就是这块骨头。一个从零用 Rust 写的 PDF 阅读器和编辑器,截至 2026 年 10 月 22 日,GitHub 上 16987 Star、6546 Fork。

数字好看,但它同时挂着 1931 个未关闭 issue。这篇就把这两面都摊开讲。

它填的是哪个坑

先说清楚问题,再说项目。

PDF 的工具市场大致分三层。

第一层是阅读器,比如各平台的系统预览、浏览器内置的 PDF 查看。它们免费、轻,但基本只能读。想删一页、合并两个文件、加个密码,就得换工具。

第二层是老牌桌面编辑器。功能全,但价格不便宜,而且多数是闭源商业软件,跨平台支持参差。

第三层是在线工具站。免费额度有限,文件要上传,隐私敏感的场景直接出局。

这三层之间有个缝:一个本地运行、能读也能改、不要求登录、跨平台的工具。

PdfCraft 站的就是这个缝。

它的 README 里写得很直白,三个词概括设计取向:Faithful(渲染忠实)、Fearless(保存不毁原文件)、Yours(数据归你)。后面两条尤其值得说,因为它们是很多 PDF 工具翻车的地方。

它是什么

一句话:用纯 Rust 从零实现的 PDF 工作台,覆盖阅读、整理、合并、拆分、加密。

官方原话是这么写的:

The PDF workbench; an open-source, modern PDF reader and editor, built in pure Rust.
Read, organize, combine, split and secure PDFs in a fast, native app, written in Rust from the ground up.

注意 "from the ground up" 这个说法。它不是包一层现成的 PDF 库再套个界面,而是自己实现了渲染引擎。README 里提到引擎、CLI 和应用三层都是开源的。

平台覆盖 macOS、Windows、Linux、FreeBSD,外加 Web。许可证是 Apache-2.0(README 徽章标注为 MIT OR Apache-2.0,仓库元数据为 Apache-2.0,具体以仓库 LICENSE 文件为准)。

项目挂在 ArtCraft 这个组织下,同系列还有别的创作类应用。品牌名和 logo 不属于开源范围,fork 时必须移除,这点 README 写明了。

关键能力

渲染:把"排版正确"当回事

PdfCraft 在渲染上投入的描述篇幅最长。它强调的不只是"能打开",而是打开后长得对。

具体包括字距调整和连字、从右到左的文字、复杂的南亚文字、竖排中日文、彩色 emoji、渐变、混合模式、软遮罩。

为什么这重要?因为大量 PDF 工具在处理阿拉伯文或竖排日文时会直接乱掉。你做外贸合同、做多语言排版、看日文原版资料,这一条就是分水岭。

它还有两个工程上的说法值得记下来:

· **大页面分块渲染**,放大后文字依然锐利,不是简单拉伸位图。

· **每页独立渲染,坏文件能修复**。README 称在 pdf.js 的 **983 个文件**测试集上做到 **0 崩溃**。这个数字是项目方自己给的,测试口径以官方文档为准。

这张图能让你看到它的界面骨架:左边工具入口,中间文档,右边评论区。评论是分线程的,不是简单批注。

保存:每次保存都是追加

这是我认为整个项目最值得单独拎出来讲的设计。

README 的原话是:每次保存追加你的改动,原始字节保持不动;写入是原子的;撤销层级很深;误关也不丢。

为什么重要?因为 PDF 编辑最恐怖的事故就是"保存完打不开了"。很多工具的做法是原地重写整个文件结构,一旦中途出错,原文件和新文件一起报废。

追加式写入本质上是给自己留了退路。代价是文件会变大,需要定期做一次整理。这个取舍是否划算,取决于你编辑的是合同、论文还是随手记的笔记。

整理、合并、拆分

页面可以像桌上的卡片一样拖动重排。合并和拆分强调"不丢东西"——书签、表单域、附件这些容易被忽略的结构,在拆分后应当保留。

这一块的具体行为,建议以官方文档和实际测试为准,README 只给了方向性描述。

加密与表单

能打开受保护的文档,并遵守文档自身的权限规则。支持评论、表单、图层和附件。

命令行与 Agent

README 里专门有一节叫 "Built for agents too"。引擎和 CLI 是分开的,意味着你可以把 PDF 处理塞进脚本或自动化流程,而不是只能靠鼠标点。

对做批处理的人来说,这比 GUI 花哨的功能实用得多。

怎么上手

最稳的方式是从源码构建,需要 Rust 工具链。以下命令为通用流程,具体参数以仓库 README 的 Get started 一节为准。

# 克隆仓库git clone https://github.com/storytold/pdfcraft.gitcd pdfcraft# 构建(release 模式)cargo build --release# 运行cargo run --release

如果你只想用现成安装包,README 底部有 Downloads 一节,按平台提供 macOS、Windows、Linux 的构建。FreeBSD 和 Web 版的支持程度,以官方页面为准。

CLI 的用法 README 节选里没有给出完整参数表,这里不臆造。建议直接看仓库里 CLI 相关的文档或 `--help` 输出。

和同类放一起看

下表只对比定位和公开信息,能力细节以各自官方文档为准。

维度
PdfCraft
系统/浏览器内置阅读器
老牌商业桌面编辑器
在线 PDF 工具站
价格
开源免费
随系统免费
多为付费/订阅
免费额度 + 付费
平台
macOS / Windows / Linux / FreeBSD / Web
视系统而定
通常 2–3 个平台
浏览器
编辑能力
阅读、整理、合并、拆分、加密
基本只读
全面,含深度编辑
常见操作齐全
数据是否离开本机
否,离线可用
否
否
是,需上传
账号与遥测
无账号、无遥测
视产品
常需激活账号
通常需登录
可脚本化
有 CLI 与引擎
一般没有
部分有
一般靠 API
项目活跃度
截至 2026-10-22,最近推送 2026-10-22
—
—
—

要如实说一句:老牌商业编辑器在深度编辑、OCR、格式转换这些方面仍然更强,它们做了十几年,功能密度不是新项目短期能追的。在线工具站的优势是零安装、打开就用,对偶尔用一次的人反而更省事。

PdfCraft 的差异点不在"功能更多",而在本地、开源、可脚本化、保存策略保守这四条的组合。

说清短板

这部分我尽量直。

01 未关闭 issue 数量很大

截至 2026 年 10 月 22 日,1931 个未关闭 issue。对照 16987 Star 和 6546 Fork,这个比例说明两件事:一是用的人多、提问题的人多;二是维护侧的消化速度跟不上。

对一个创建于 2026 年 9 月 30 日、10 月 22 日还在推送的项目来说,这几乎是必然的。但对你意味着:你遇到的问题,可能已经有人提了,也可能没人回。

02 项目太年轻,稳定性没有经过时间检验

创建到最近推送,中间不到一个月。README 里那些"0 崩溃""原子写入"的说法是项目方自测的结果,缺少第三方长期使用的验证。

PDF 这个格式的坑在于历史包袱极重,各种非标准实现遍地。测试集覆盖不到的畸形文件,永远比想象中多。

03 生态和文档还在早期

CLI 的完整参数、Web 版的能力边界、各平台安装包的具体差异,README 节选里给的信息有限。你要做深度集成,得做好自己读源码的准备。

对一个 Apache-2.0 项目来说这不算致命,但对"只想装个软件用"的用户,门槛是实打实的。

04 品牌与商标限制

logo 和品牌名不开源,fork 后必须移除。如果你打算基于它做二次分发或商业产品,这一条要提前看清楚 `docs/brand/LICENSE-brand.txt`。

05 深度编辑能力未知

README 强调的是阅读、整理、合并、拆分、加密。真正的"改文字、改图片、重排版"这类深度编辑,节选里没有明确承诺。如果你的需求是改合同条款文本,先别假设它能做,以官方文档为准。

写在最后

回到开头那个场景。

80 页的合同,你只想改第 12 页的一个数字。你要的其实不是"最强的 PDF 编辑器",而是一个不会在上传、登录、重排、保存这几步里给你添乱的工具。

PdfCraft 真正解决的,是"本地、开源、保存不毁原件"这三件事的组合。它不承诺做全能选手,1931 个 issue 也说明它现在还不是。

我的判断是:

适合你——如果你经常处理多语言或竖排 PDF、在意文件不出本机、需要把 PDF 操作写进脚本、能接受早期项目的不稳定。

不适合你——如果你要的是成熟稳定的深度编辑、需要 OCR 或复杂格式转换、或者你完全不打算看文档和 issue。

项目地址:https://github.com/storytold/pdfcraft

官网:https://getartcraft.com/apps/pdfcraft

用之前,先去 issue 列表搜一下你要做的操作,比看任何介绍都准。

相关学习资料