Show HN: 让 PDF 文件看起来像扫描件(CLI 或通过 WASM 在浏览器中实现)

开发者 overflowy 发布了一款开源工具 make-look-scanned ,可以将普通 PDF 文件实时处理成带有纸张泛黄、歪斜、噪点和边缘阴影的“扫描件”效果,既可通过命令行使用,也可在浏览器中以 WebAssembly(WASM)方式运行。

Show HN: 让 PDF 文件看起来像扫描件(CLI 或通过 WASM 在浏览器中实现)

一句话看懂:开发者 overflowy 发布了一款开源工具 make-look-scanned,可以将普通 PDF 文件实时处理成带有纸张泛黄、歪斜、噪点和边缘阴影的“扫描件”效果,既可通过命令行使用,也可在浏览器中以 WebAssembly(WASM)方式运行。

事件核心:发生了什么

该工具基于 Go 语言开发,核心流程是用 go-fitz(链接 MuPDF 库)将 PDF 每页栅格化为图像,随后施加一系列退化效果:灰度化、温暖纸张色调、倾斜旋转、高斯模糊、扫描噪点、边缘阴影以及 JPEG 压缩伪影,最终重新打包为纯图像的 PDF 文件。最终输出不再保留原文的可选文字,模拟的是基础扫描仪的效果。

用户可以通过 CLI 参数精细调节每个效果的强度,例如 --skew 2.5 控制最大旋转角度,--jpeg-quality 30 控制 JPEG 质量。工具默认基于输入文件内容哈希生成随机种子,保证同一文件每次输出结果一致;传入 --seed 可产生新的但可复现的视觉效果。此外,支持预设配置(config.toml),便于批量使用。浏览器版本无需 MuPDF,改用 PDF.js 做前端栅格化,处理逻辑仍由同一份 Go 代码编译到 WASM 执行,并可打包成约 8MB 的单文件 HTML 离线使用。项目采用 AGPL-3.0 许可证。

为什么重要

这款工具解决的场景非常具体:在数字化办公、合同管理和内容发布中,有时需要让电子文档“冒充”真实扫描件以获得可信度或特殊的视觉风格。传统做法需手动打印再扫描,效率低下且无法精确重复。该工具通过算法模拟扫描仪退化,将这一流程完全自动化、可配置,且支持 CLI 和浏览器端两种使用方式(无需后端服务器)。

对开发者与创作者的影响:对于需要批量生成“扫描版”文档的团队(如文档审核、自动化报表、内容创作),该工具大幅降低人力成本;开发者可将它集成到 CI/CD 或自定义工作流中。浏览器版本降低了使用门槛,普通用户无需安装任何软件,打开即用。此外,项目同时展示了 Go 代码通过 WASM 在浏览器中运行的能力,可作为类似图像处理工具的技术参考。

值得关注的后续

  • 单文件 HTML 分发可行性:将 WASM 二进制、Go 运行时胶水代码和 PDF.js 库内联到 8MB 的 HTML 文件中,这种打包方式能否成为其他离线可视化工具的标准做法?
  • AGPL 协议对商用场景的影响:CLI 版本因链接 MuPDF 而整体呈 AGPL-3.0,分发门槛较高;浏览器版本不带 MuPDF(使用 Apache-2.0 的 PDF.js),协议更宽松,预计会成为社区主流的再分发形态。
  • 竞品跟进:目前类似功能的工具极少(常见方案是先用 Ghostscript 转换成图像再用脚本加噪),若该工具社区活跃度提升,可能会催生更轻量、支持更多退化效果(如折痕、污渍)的开源替代品。
GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

来源:Hacker News · 24h最热

celebrityanime
celebrityanime
文章: 9141

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注