Hacker News 中文摘要

RSS订阅

Show HN:让PDF看起来像扫描件(命令行或通过WASM在浏览器中运行) -- Show HN: Make PDFs look scanned (CLI or in the browser via WASM)

文章摘要

这是一个开源工具,可将PDF文件处理成类似实体扫描件的效果,包括倾斜、灰度、暖色纸纹、扫描噪点、模糊、边缘阴影和JPEG压缩痕迹,支持命令行和浏览器端运行。

文章总结

这是一个名为"make-look-scanned"的开源工具,它能将PDF文件处理成类似物理扫描件的外观。该工具通过命令行界面运行,也可在浏览器中通过WASM技术实现客户端处理。

核心功能包括:对PDF页面进行倾斜、灰度化、暖色纸张色调、扫描噪点、模糊、边缘阴影和JPEG压缩等效果处理。处理过程会将每页栅格化为图像,经过效果管线后重新组合成仅含图像的PDF文件(原始可选文本将消失)。

构建与使用:需要Go语言和C工具链。基本用法为make-look-scanned [参数] input.pdf,支持多种参数调整效果强度,如倾斜角度、灰度开关、纸张色调强度、噪点程度、模糊程度、边缘阴影和JPEG质量等。输出默认具有确定性,相同输入文件始终产生相同扫描效果。

预设功能:支持在配置文件中定义可复用的效果组合,预设优先级为:内置默认值 < 选定预设 < 显式命令行参数。

浏览器版本:通过WebAssembly实现,使用PDF.js进行页面栅格化,效果处理代码与CLI相同。可生成自包含的HTML文件,离线可用。

许可协议:采用AGPL-3.0协议,CLI版本因静态链接MuPDF而受AGPL约束,浏览器版本使用Apache-2.0协议的PDF.js。

评论总结

根据评论内容,总结如下:

主要观点与论据:

  1. 工具实用性争议:部分用户质疑其实际用途,认为通常人们希望让PDF更清晰而非更模糊(评论2)。但也有用户认为可用于防止文本直接抓取,需通过OCR才能提取文字(评论13)。

  2. 功能建议:建议支持图像输出(如JPG/PNG),因为管道中已有图像处理步骤(评论3);建议添加随机插入空白页的选项(评论4)。

  3. 替代方案与对比:有用户分享使用ImageMagick的命令行实现类似效果(评论5);另有用户推荐本地转换工具lookscanned.io,无需上传(评论15)。

  4. 反向需求:部分用户希望有工具能将扫描文档转为清晰PDF(评论6)。

  5. 正面评价:称赞其为免费开源工具,打破付费壁垒(评论7);认为效果逼真(评论12)。

关键引用(保留中英文):

  • 实用性质疑:评论2 "Does this have a practical use case? Like are people actually wanting to make their PDFs less legible?"(这有实际用途吗?人们真的想让PDF更难辨认吗?)
  • 功能建议:评论3 "maybe allow image output too since that seems to be one of the steps in your pipeline"(也许允许图像输出,因为那似乎是管道中的一步)
  • 替代方案:评论5 "I just use imagemagick... -compress jpeg -quality 78 scanned.pdf"(我直接用ImageMagick...)
  • 反向需求:评论6 "Is there any good tool that does the opposite — turning scanned documents into clean PDFs?"(有没有好的工具做相反的事——将扫描文档转为清晰PDF?)
  • 正面评价:评论7 "Thank you for making this a free tool... We need more tools from paid ones that should be completely free and OSS."(感谢你提供免费工具...我们需要更多本应免费开源的付费工具替代品)
  • 效果评价:评论12 "cool idea, looks sooo realistic"(好主意,看起来非常逼真)