当前时间: 2026-04-21 19:15:31
分类:办公文件
评论(0)
我自己开发的文件著录软件,核心功能全公开经过几周的打磨,我的两款著录小工具(PDF版和图片版)终于定型了。今天不绕弯子,直接把核心功能摊开来说——如果你也在为著录头疼,看看这些功能是不是你正需要的。
一、鼠标划选 + 弹出菜单:指哪打哪
左侧是文件预览区,支持多页翻页,图片缩放。你只需要做一件事:用鼠标拖拽划选文字。松手的那一刻,会弹出一个菜单——题名、文号、责任者、成文日期、件号、备注……想填哪个字段,点一下就行。不需要先点输入框,不需要记快捷键,一个划选+一次点击,文字就乖乖进到右边的框里。这是最直观、最不容易出错的方式。一个小细节:如果划选的内容里包含日期,菜单上会直接显示“填入成文日期(识别为20240203)”,省得你再去手动改格式。
二、自动日期识别:什么格式都能转
所以我在划选菜单里加了自动识别功能。不管你划选的是:2024年2月3日
2024-2-3
2024.02.03
二零二四年二月三日
程序都会自动转换成20240203这种8位数字格式,直接填入“成文日期”字段。你只管划选,格式转换交给程序。
三、红章去除 OCR:印章底下的文字也能抓
红头文件上的红色公章,经常直接盖在落款日期或责任者上面。普通划选根本抓不到底下的文字。我的解决方案是:划选时自动截图 → 去除红色通道 → OCR识别。你划选的是一个带红章的区域,程序会先把红色印章“变白”,再识别剩下的文字。实测下来,印章底下的文字抓取成功率从不到50%提升到了90%以上。你不需要额外操作,划选、松开、点菜单,三步照旧,只是背后多了这道“去红”工序。
四、自动保存:再也不怕忘了存
很多著录软件需要手动点“保存”,一旦忘了,切换文件就前功尽弃。我的做法是:每次保存记录,或者切换上一份/下一份文件时,数据自动写入文件夹下的著录结果.xlsx。你只管划选、填入、切文件,Excel 文件会自动更新。中途关机、闪退都不怕,已经存好的记录丢不了。
五、快捷键:让双手配合更流畅
虽然划选+菜单已经很方便,但我还是加了一组快捷键,给愿意提速的朋友:F1 / F2:上一份 / 下一份文件(切换时自动保存)有了这些快捷键,右手划选,左手切文件、翻页、跳字段,效率再上一个台阶。
六、字段说明(一目了然)
七、运行方式
PDF版:pdf著录\main.py(需要 Python + PyMuPDF)图片版:jpg_著录\main.py(需要 Python + Pillow)如果你不想装 Python,也可以打包成EXE 单文件,解压即用,无需任何环境。
写在最后
这套工具的核心思路很简单:把最耗时的“划选→填入”做到极致,其他都交给程序自动处理。目前我自己用得很顺手,也分享给了几个兄弟单位。如果你感兴趣,欢迎关注公众号“徐州档案人”,回复“试用”获取下载链接。下篇文章我会详细讲一讲红章去除 OCR 的技术实现,感兴趣的朋友可以留意。
基本
文件
流程
错误
SQL
调试
- 请求信息 : 2026-04-25 09:16:57 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/550918.html
- 运行时间 : 0.220444s [ 吞吐率:4.54req/s ] 内存消耗:4,675.32kb 文件加载:145
- 缓存信息 : 0 reads,0 writes
- 会话信息 : SESSION_ID=70b2f32166f4fc046632a81616e58799
- CONNECT:[ UseTime:0.001294s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
- SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001568s ]
- SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000768s ]
- SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000684s ]
- SHOW FULL COLUMNS FROM `set` [ RunTime:0.001365s ]
- SELECT * FROM `set` [ RunTime:0.000546s ]
- SHOW FULL COLUMNS FROM `article` [ RunTime:0.001485s ]
- SELECT * FROM `article` WHERE `id` = 550918 LIMIT 1 [ RunTime:0.004916s ]
- UPDATE `article` SET `lasttime` = 1777079817 WHERE `id` = 550918 [ RunTime:0.003715s ]
- SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000740s ]
- SELECT * FROM `article` WHERE `id` < 550918 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001261s ]
- SELECT * FROM `article` WHERE `id` > 550918 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001123s ]
- SELECT * FROM `article` WHERE `id` < 550918 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001858s ]
- SELECT * FROM `article` WHERE `id` < 550918 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001898s ]
- SELECT * FROM `article` WHERE `id` < 550918 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012615s ]
0.226456s