我试过所有PDF编辑器,然后让ChatGPT给我造了个更好的
一位作者为妻子解决黄色乐谱PDF的去色问题,发现直接使用AI处理文件可能改变内容,转而让AI编写确定性Python脚本,成功制作了去色工具。文章讨论了AI的非确定性与编程的确定性,并给出实用建议。
最近,我的妻子Denise开始参加教堂合唱团,她需要练习新歌。歌谱印在类似平装书的黄色纸张上,她希望扫描成PDF后去除黄色背景,再放大打印到8.5x11英寸的纸上,这样就不用戴老花镜了。她还打算将乐谱导入PlayScore 2应用,该应用能播放乐谱以便跟唱。然而,黄色背景可能干扰播放软件的识别。
我最初尝试用Photoshop去除黄色,但每张图片需要不同的滑块设置,过程繁琐耗时。于是,我建议她使用ChatGPT。她拥有ChatGPT Plus账户,这看似是个好选择。
我进行了一些测试,通过提示让ChatGPT返回去除黄色背景的PDF。它确实做到了,但不幸的是,ChatGPT微妙地改变了PDF内容。Denise担心ChatGPT会改动音符、歌词或其他原始信息,导致她练习错误。ChatGPT和其他AI是“非确定性的”,意味着同一输入可能产生不同输出,这让她无法接受。
她需要的是一把绝对确定的工具,而Python可以做到。我在哈佛Python编程认证的最终项目中编写过一个交互式图像管理工具,知道Python拥有实现所需功能的库。但我当时非常忙碌,没时间从头编写程序。然而,ChatGPT有无限的时间。
我决定让ChatGPT编写一个Python脚本,用于去色。我给它的提示很简单:“编写一个Python脚本,读取JPEG,将非灰非黑的像素设为白色,保存为name-decolor.jpg。允许轻微着色灰色,使彩色背景上的黑色文字保持为黑色。如果输入是PDF,能处理多页。”等我做完晚饭,ChatGPT也完成了。
脚本最初有一些问题,比如需要安装某个Python库,但之后运行顺畅。它通过命令行执行,输入一个PDF文件,输出一个去除了背景色的新PDF。这个脚本已经上传到我的GitHub仓库。
为了演示,我从纽约公共图书馆网站获取了一首公共领域歌曲——爵士大师Fats Waller的作品。脚本完美处理了黄色背景,保留了所有音符和文字。
这次经历带来了几点启发:首先,使用AI不一定非要依赖其非确定性处理,有时可以让它编写基于确定性算法的程序。其次,不必花费大量时间创建界面,简单的命令行工具就能解决问题。第三,不要害怕向AI细化需求,持续测试并调整。最后,Python功能强大,拥有众多库,是快速开发的首选。
所以,如果你需要快速解决某个问题,不妨让ChatGPT为你编写程序。它确实帮我帮妻子解决了问题,我甚至同时完成了其他家务。你是否有过因为担心AI微妙改变原始文件而避免直接使用的经历?欢迎在评论区分享。