make-look-scanned

4个月前发布 137 00

make-look-scanned 是一款基于 Go 语言开发的命令行工具,它能自动为 PDF 文件添加逼真的扫描瑕疵,使其看起来像是由普通办公室扫描仪生成的产物。

所在地:
美国
收录时间:
2026-06-23
make-look-scannedmake-look-scanned

在数字化办公中,我们常常需要将干净的电子文档(如合同、报告或简历)伪装成经过打印、签字后再扫描回传的物理文件。手动使用 Photoshop 处理每一页不仅耗时,而且难以保持风格的一致性。make-look-scanned 是一款基于 Go 语言开发的命令行工具,它能自动为 PDF 文件添加逼真的扫描瑕疵,使其看起来像是由普通办公室扫描仪生成的产物。

make-look-scanned

核心功能:逼真的降质处理管道

该工具通过将 PDF 的每一页栅格化为图像,并应用一系列精心调校的视觉效果来模拟真实世界的扫描过程:

  • 几何失真:随机倾斜(Skew)页面,模拟放置纸张时的不平整。
  • 色调与色彩:转换为灰度或保留颜色,并叠加暖色纸张色调(Paper Tone),模仿陈旧纸张或扫描仪光源的色温。
  • 噪点与颗粒:添加扫描仪特有的传感器噪声(Noise)。
  • 光学缺陷:应用高斯模糊(Blur)模拟镜头散焦,以及边缘阴影(Edge Shadow)模拟扫描仪玻璃板边缘的光线衰减。
  • 压缩伪影:通过低质量的 JPEG 压缩引入块状伪影,还原有损压缩带来的画质损失。

最终输出的是一个纯图像 PDF,原始的可选文本层将被移除,这与真实扫描仪的行为完全一致。

为什么选择 make-look-scanned?

  1. 确定性输出:默认情况下,工具使用输入文件的内容哈希作为随机种子。这意味着对于同一个输入文件,无论运行多少次,生成的扫描效果都是完全一致的(字节级相同)。如果需要不同的外观,只需指定 --seed 参数。
  2. 跨平台与零依赖:基于 Go 语言构建,并通过 cgo 链接 MuPDF。编译后的二进制文件是自包含的,无需安装 Python、ImageMagism 或其他运行时环境。支持 Windows、macOS 和 Linux。
  3. 灵活的配置:
    • 命令行标志:精细控制每一个效果参数(如 --noise 0.4, --skew 2.5)。
    • 预设系统:支持在 config.toml 中定义命名预设(如 medium, heavy),一键应用常用组合。
  4. 浏览器支持 (WASM):除了 CLI,该工具的效果处理核心已被编译为 WebAssembly。你可以直接在浏览器中运行它,甚至可以使用一个单文件的 HTML(约 8MB)离线处理 PDF,无需后端服务器。

快速开始

1. 构建与安装

你需要安装 Go 和 C 工具链。

git clone <repository-url>
cd make-look-scanned
go build -o make-look-scanned .

2. 基本用法

# 使用默认设置处理 in.pdf,输出 in.scanned.pdf
./make-look-scanned in.pdf

# 自定义输出路径和效果参数
./make-look-scanned in.pdf -o out.pdf --noise 0.4 --skew 2.5 --jpeg-quality 30

# 使用预设
./make-look-scanned --preset medium in.pdf

3. 常用标志说明

标志默认值含义
--dpi150渲染分辨率,越高越清晰但文件越大
--skew0.6最大旋转角度(度),0 表示禁用
--grayscaletrue是否去色,设为 false 可保留彩色
--paper-tone0.6暖色纸张色调强度 (0..1)
--noise0.08扫描仪颗粒感强度 (0..1)
--blur0.4散焦模糊程度 (sigma 值)
--edge-shadow0.15边框暗角强度 (0..1)
--jpeg-quality70JPEG 压缩质量 (1..100),越低伪影越多

4. 浏览器端使用

如果你更喜欢图形界面或需要在网页中集成此功能:

# 构建单个自包含的 HTML 文件
task build:web

# 生成的 dist/make-look-scanned.html 可直接在浏览器中打开使用

应用场景

  • 提交纸质流程要求的电子档:某些机构要求上传“扫描件”,但你只有电子版。
  • 设计原型展示:让数字设计稿看起来更像是打印出来的实物照片,增加真实感。
  • 数据增强:为 OCR 训练数据集生成带有各种噪声和畸变的合成样本。
  • 隐私保护:将敏感的文本型 PDF 转换为图像型 PDF,防止简单的文本复制和搜索(虽然 OCR 仍可识别,但增加了门槛)。

make-look-scanned 以其极简的设计、强大的效果和确定性的行为,成为了处理文档“物理化”需求的理想工具。

相关导航