用途:将 PDF 文档处理成看起来像经过实体扫描仪扫描的效果,并可选替换文档中的签名。
主要能力:通过脚本 scripts/make_scanned.py 对 PDF 施加扫描效果,包括灰度转换、高斯噪声、轻微旋转、模糊、对比度调整和 JPEG 压缩。可调参数有 --dpi(默认200,越低越粗糙)、--quality(默认85,越低伪影越多)、--noise(默认5.0)、--blur(默认0.6)、--rotation(默认0.7度)、--contrast-min(0.88)、--contrast-max(0.95)。还支持签名替换:从源 PDF 裁剪真实签名,清除目标页旧签名区域并粘贴新签名,坐标均为页面尺寸的比例(0.0-1.0)。
使用方式:先安装依赖 pip3 install pillow pdf2image img2pdf numpy,并安装 poppler(提供 pdftoppm;macOS 用 brew install poppler,Ubuntu/Debian 用 apt install poppler-utils,Fedora/RHEL 用 dnf install poppler-utils,Arch 用 pacman -S poppler,Windows 可用 conda install -c conda-forge poppler 或从 poppler releases 下载)。基础用法:python3 scripts/make_scanned.py document.pdf。调整扫描质量示例:python3 scripts/make_scanned.py document.pdf --dpi 150 --quality 75 --noise 7。签名替换需提供 --sig-pdf、--sig-page、--sig-crop、--sig-target、--sig-clear、--sig-place 等参数,可多次指定以替换多个签名;--sig-size 默认0.11,--sig-dpi 默认350。
适用场景:需要让电子 PDF 呈现纸质扫描观感,或在合同等文档中替换签名。
限制:签名坐标需人工反复裁剪与目视校准,裁剪过紧会切掉笔画,清除区域过宽会吃掉标签或正文;源签名若为手机照片需提高 --sig-dpi 和墨迹阈值。资料未提供收费、平台支持范围等更多信息。