← 返回全部文章

OCR 脱敏原理:扫描像素如何变成可定位的敏感信息候选

解释扫描 PDF 和图片的像素如何经过版面分析、文字检测、字符识别、坐标映射与敏感实体判断,进入可复核的脱敏候选,并拆解中文混排、表格、印章、手写和低置信度内容的处理边界。

OCR 脱敏原理:扫描像素如何变成可定位的敏感信息候选封面

扫描 PDF 打开后明明满页都是字,为什么搜索姓名没有结果?鼠标为什么选不中身份证号?把同一份文件交给按关键词工作的脱敏工具,为什么一个候选也找不到?

答案通常不是“页面没有内容”,而是内容仍停留在像素里。对人眼而言,白纸上的黑色笔画当然是文字;对软件而言,它起初只是一组有明暗和颜色差异的点。只有经过 OCR,也就是光学字符识别,这些点才可能变成“第几页、哪个区域、识别成什么字符、位于什么坐标、系统有多大把握”的结构化结果。脱敏流程随后才能判断其中哪些是姓名、手机号、账号、地址或其他敏感信息,并把候选重新落回页面。

所以,OCR 脱敏不是“识别出一段文字,再盖个黑框”这么简单。它至少要打通六个对象:原始像素、版面区域、文字行或文字框、识别字符串、页面坐标、敏感候选。任何一层断开,都可能出现一种很危险的结果:系统知道某个号码存在,却框不准位置;页面看起来有框,实际却漏掉了印章下的一位数字;导出的文本里没有姓名,原图上的手写姓名仍然清晰可见。

先给结论:OCR 负责“看见”,脱敏负责“判断与复核”

把两段工作分开,很多概念会立刻清楚。

第一段是 OCR。它回答四个问题:这一页有没有文字区域,区域按什么顺序阅读,每个区域识别成什么文字,这些文字在原图的什么位置。不同 OCR 引擎的输出格式不同,但常见结果不只是一串纯文本,还可能包括页、块、段落、行、词或字符层级,以及边界框和置信度。

第二段是脱敏。它利用 OCR 交出的文字与位置,回答另外四个问题:哪些内容属于本次任务要处理的敏感类型,哪些命中只是误报,哪些内容被 OCR 漏掉但人眼能看见,最终应该怎样处理并验收。

脱敏卫士(RedactOS)在本文中的角色就位于这条分界线之后:把 OCR 后的可定位内容转成敏感候选,并把自动判断交给人复核。 桌面端支持扫描型 PDF 和常见图片,可在本机、断网环境处理;固定格式字段可由规则识别,姓名、地址、单位或机构等依赖上下文的内容可由 AI/NER 提示。复核者可以取消误报、补充漏项,对图片里没有被可靠识别的区域手动框选,处理结果形成任务记录。

这正好对应扫描件最常见的四个断点:

扫描件断点 脱敏卫士接续的动作 复核者能观察到的结果
OCR 已读出号码,但普通关键词无法覆盖多种格式 规则标记身份证号、手机号、银行卡号等结构化候选 候选清单出现字段类型、命中内容与对应位置
姓名、机构、详细地址没有固定格式 AI/NER 按上下文提出语义实体候选 复核者逐项确认,避免只靠关键词硬找
OCR 把标题、印章字或页码误判为敏感内容 关闭不需要处理的候选,必要时加入白名单 误报不进入最终输出,复核口径可持续收敛
手写、盖章压字、模糊角落没有形成可靠文本 在图片页面上手动框选自定义区域 漏项从“系统没看见”变成明确的人工处理项

这套分工不是承诺自动识别没有遗漏。恰恰相反,它把“OCR 输出”和“可放行文件”之间原本隐形的人工责任变成清单与动作。要理解为什么这一步必要,得先从一张扫描页的数据形态说起。

扫描页从像素、版面区域、文字框到敏感候选的层级关系

第一步:先判断页面里到底有没有文字层

PDF 是容器,不是单一内容格式。扩展名同样是 .pdf,内部可能完全不同。

文字型 PDF 通常包含可选择的字符和它们在页面上的绘制信息。复制一段正文能得到大致正确的文字,搜索一个明显存在的词也能命中。对此类文件,脱敏识别可以直接读取文字,但仍要防范断词、字体编码异常、隐藏对象或复杂绘制方式。

图片型 PDF 的每一页可能只是一张扫描图。人眼看到合同、签字和表格,软件最初看到的却是宽度、高度、颜色通道和像素值。搜索不到不是姓名不存在,而是系统还没有得到“姓名”这个字符序列。

混合型 PDF 更容易误导人。正文页可以搜索,后面的签署页、票据附件或插入扫描页却只有图像;也可能同一页既有扫描底图,又叠着一层质量不佳的 OCR 文字。若流程只检查第一页,或者只要文件中“存在文本”就跳过 OCR,图片页里的敏感信息会被整体漏掉。

实际处理时,至少应按页观察三件事:能否选择文字、搜索结果是否落在正确位置、复制出的文字是否与页面一致。不能只凭文件名或肉眼判断。对混合页还要避免把已有文字层和新 OCR 结果重复叠加,否则同一姓名可能出现两份坐标不同的候选,复核者看到的框会重叠或漂移。

这里还有一个版本问题。给原件补一层可搜索文字,文件已经发生变化。稳妥做法是保留只读原件,把 OCR 分析副本、校正副本和最终脱敏副本分开命名。后续坐标、页码和候选都应明确对应哪一个版本,不能用 A 文件的坐标去操作经过裁边、旋转或重排的 B 文件。

第二步:版面分析先决定“哪里可能是文字”

OCR 不是从左上角开始逐像素猜到右下角。常见流程会先判断页面方向和布局,把页面划分为正文、标题、表格、图片、页眉页脚或其他区域,再寻找可能的文字行。

为什么不能直接整页识别?因为文档不是一条连续字符串。双栏报告的右栏不应插进左栏中间;表格里的账号不能与下一列金额拼成一个号码;页眉单位名和正文第一句也不属于同一行。版面分区错了,即使每个单字都识别正确,组合后的内容仍可能失真。

版面分析通常需要解决几类空间关系:

  • 页面有没有旋转,文字基线是横向、竖向还是倾斜;
  • 哪些像素聚成文字块,哪些是照片、印章、线框、底纹或污点;
  • 文字块之间的阅读顺序是什么;
  • 表格线围成了哪些单元格,合并单元格属于哪一行哪一列;
  • 页眉、页脚、页码和批注是否应该与正文分开。

这些判断会影响脱敏候选的语义。例如,表单左侧写“联系人”,右侧写“王某”,只有标签和值的空间关系保留下来,“王某”才更容易被判断为姓名。若版面分析把两者拆到不同段落,实体识别只能看到孤立的两个字,既可能漏掉,也可能把正文中的普通用词误判成人名。

预处理也发生在这个阶段附近。旋转校正、裁边、去噪、对比度调整和透视修正,目的都是让文字区域更清楚。但预处理不是越强越好。过度二值化可能抹掉浅色印章或铅笔字,过度去噪可能吞掉小数点、负号和汉字细笔画,自动裁边可能切掉页角的手写电话。每次增强都应保留原图对照;当增强页与原页差异明显时,应把该页送人工复核,而不是让后续模型猜测消失的内容。

第三步:文字检测给出框,字符识别给出内容

版面划好之后,文字检测负责找出“这里像一行字”或“这里像一个词”。输出可以是矩形框,也可以是适应倾斜文字的多边形。框内仍然是像素,下一步的字符识别才把它转成 Unicode 字符串。

可以把一条 OCR 记录想成这样:

字段 示例含义 对脱敏的作用
page 第 7 页 确定候选属于哪一页
text 某个姓名或号码字符串 交给规则或实体识别判断
box 左上与右下坐标,或四个顶点 把候选重新画回原图位置
level 块、行、词或字符 决定框的粒度与可调整范围
confidence 引擎给出的识别分数 用于异常排序,而不是放行证明
order 所在行及阅读顺序 为上下文和跨行实体提供线索

真正连接 OCR 和脱敏的是 text + box。只有文字,没有框,系统可以在全文中找到一个身份证号,却不知道它在页面哪个位置;只有框,没有可靠文字,系统知道这里有一串笔画,却不知道应该按姓名、账号还是普通正文处理。二者必须保持同一页面版本、同一坐标系和可追踪的映射。

坐标并不总是天然稳定。OCR 在预处理后的图像上得到坐标,最终展示却可能使用原始图;如果中间发生缩放、旋转、裁边或透视校正,就需要把坐标按相同变换映射回去。裁掉上边黑边却没有补回裁边偏移,通常会让所有框产生近似固定的纵向错位;缩放比例、旋转角度或透视映射不一致,误差才可能随位置增大,或在页面不同区域呈非均匀变化。复核时不能只看“候选数量”,还要随机检查框是否完整覆盖文字,尤其关注长地址、跨行机构名和靠近页边的编号。

第四步:中文识别不是逐字替换,而是视觉与语言共同判断

中文扫描件的难点不只是汉字多。一个页面往往同时包含简体字、英文公司名、阿拉伯数字、括号、连接号、小数点、货币符号和手写批注。不同字符共享相近笔画,字号又可能非常小。

字符识别首先依据图像特征区分形状,同时也会利用周围字符判断哪种组合更合理。语言上下文能修正一部分噪声,却也会制造另一类风险:把罕见姓名改成常见词,把内部编号中的字母猜成数字,把看不清的手写字“补全”为语义通顺的内容。对普通阅读,这种修正可能让句子更好懂;对脱敏,高风险字段的一位错误就可能让规则完全失配。

常见混淆包括:数字 0 与字母 O,数字 1 与小写字母 l,数字 5 与字母 S,汉字“未”与“末”,以及全角、半角符号。手机号中插入空格或短横线,身份证号末位 X 被识别为其他字符,金额的小数点消失,都会改变规则是否命中。复核者要看原图,不应只在 OCR 文本里校对“读起来是否顺”。

中文还有分词边界问题。两字或三字姓名紧邻职务,OCR 可能把它们合成一个词框;详细地址可能跨两行;机构全称可能被印章或表格线切成数段。实体识别需要结合上下文提出候选,但框选时又要回到实际字符范围。若只按整行遮盖,容易误伤大量业务信息;若只按错误分词的单个框处理,姓名最后一个字又可能露在外面。

因此,敏感候选最好同时保留原始 OCR 片段、规范化后文本、命中规则、上下文窗口和页面位置。自动化可以先给建议,人再判断候选边界。这里的目标不是把所有文字改得漂亮,而是让需要处理的内容不因识别和分词方式而失踪。

第五步:置信度是排队信号,不是“正确概率”

OCR 常会给文字块、词或字符一个置信度。它看起来像精确数字,很容易被误解为“这个词有 98% 概率正确”。实际使用中,分数的尺度、计算方式和聚合层级取决于引擎、模型与版本;不同工具的 0.9 未必表达同一件事,同一工具里整行分数也不能直接代表每个字符都可靠。

更重要的是,高置信不等于业务正确。一个印刷清晰的 18 位号码可能每个字符都识别得很有把握,但 OCR 把它归到上一行,脱敏框仍会放错;一个机构名称可能字符全对,却因阅读顺序错误而没有进入实体候选;一枚清晰印章可能被模型识别为图片区域,根本没有文字分数。

合理用法是把置信度当作异常队列的一种信号,而不是唯一阈值。以下情况即使分数不低,也值得升级:

  1. 身份证号、银行卡号、合同主体、患者标识等高风险字段出现格式校验失败;
  2. 同一实体在前后页出现不同写法或不同号码;
  3. 页面文字数量突然远少于相邻页,可能发生整页漏识别;
  4. 表格列数、页码、合同编号或金额勾稽关系发生异常;
  5. 文字框与印章、签名、折痕或表格线大面积重叠;
  6. 人眼可见手写内容,但 OCR 输出没有任何对应区域。

反过来,低置信也不必一律修改。某些艺术字体、印章边缘或背景水印本就不是业务需要处理的文字。复核者应结合本次脱敏口径决定是更正、框选、忽略还是要求补件。分数帮助决定先看哪里,不能替代“这个字段是否敏感、是否处理完整”的判断。

第六步:从文字记录到敏感候选,规则与语义识别各有分工

OCR 输出准备好以后,脱敏引擎开始处理“这是什么”的问题。最常见的两类方法并不是竞争关系。

规则适合结构稳定的字段。 身份证号、手机号、邮箱、银行卡号、统一社会信用代码、司法案号、合同编号、日期等,都可以利用长度、字符集、前后引导词和格式约束。规则的优点是命中原因相对可解释;缺点是 OCR 只要错一位、插入异常空格或打断跨行内容,就可能不再符合模式。

AI/NER 适合依赖上下文的语义实体。 姓名、详细地址、单位、机构或律所名称没有统一字符格式,需要结合“法定代表人”“送达地址”“甲方”等上下文判断。它能覆盖规则难以描述的表达,但也会把普通词误判成实体,或者在罕见姓名、简称和行业术语上漏检。

两者之后仍需要人工。复核不是简单点“全选确认”,而要回答三件事:候选类型对不对,框的范围全不全,本次用途是否真的要处理。一个机构名称可能是个人信息,也可能是报告必须保留的公开主体;同一地址在外发副本中需要隐藏,在内部审批副本中可能需要保留。技术模型无法替组织决定披露口径。

在脱敏卫士中,固定规则与语义候选进入同一复核流程。发现误报可以关闭项目或用白名单保护必须保留的词;发现文本漏项可以划词补充;图片中的手写、签名或印章区域没有形成可靠文字时,可以直接框选自定义区域。高频的特殊编号还可以沉淀为自定义规则或黑名单。可观察的结果不是“模型说完成”,而是每个候选都有明确去留,漏项被补进清单,最终输出与任务记录能够对应。

四类难页为什么会漏,以及应该在哪一层补救

中文与英文、数字混排:先修字符,再看规则

合同主体常同时出现中文全称、英文简称、统一社会信用代码和邮箱。OCR 若把英文中的 I 与数字 1 混淆,或者把全角括号识别成普通字符,机构名的上下文和号码规则可能同时失效。此时不要只在脱敏规则里不断放宽模式。先对照原页确认字符与分词,再决定是否需要自定义规则。规则过宽会让普通数字也进入候选,增加复核负担。

表格:字符正确不等于单元格归属正确

银行对账单、工资表、投标报价和案件目录常用表格承载敏感信息。OCR 可能识别出所有数字,却把第二行账号接到第一行户名后面;无框表格可能无法恢复列边界,合并单元格可能打乱阅读顺序,跨页续表还会失去表头。

对表格页,复核应同时看原图位置和文本顺序。优先检查账号、户名、金额、联系方式是否落在正确行列,候选框是否只覆盖目标单元格。若结构恢复失败但页面仍清楚,与其让错误文本继续流转,不如退回逐格人工框选。脱敏的目标是处理页面内容,不是证明表格已被成功转成数据表。

印章压字:两类视觉内容在同一栅格图像中重叠

红章盖在黑色正文上后,扫描页中的颜色、笔画和边缘已经压平到同一组像素里,并不存在可直接拆开的两个编辑图层。灰度化可能让红章与黑字融在一起,强二值化又可能只保留其中一类视觉信息。印章本身还可能包含单位名称、编号或其他需要处理的信息;即便下面的正文识别正确,章内文字也未必进入 OCR 结果。

这类页面应回到彩色原图,分别查看正文、章内文字和覆盖边缘。若无法可靠识别,就按可见区域人工框选,并由业务负责人确认印章是否整体处理。不能让语言模型根据上下文补写被遮住的字,也不能因为 OCR 没有文本输出就把印章视为“无内容图片”。

手写、签名与边角批注:没有候选,往往才是风险信号

手写差异远大于印刷字体。姓名缩写、潦草电话、签名、铅笔批注和页角补充条款,可能被识别成乱码,也可能完全没有文字框。若流程只复核自动候选,最难的内容反而不会出现在清单里。

处理手写页应增加“人眼可见但系统无候选”的检查。签名和指纹通常应按图像区域看待;可辨认的手写号码要对照原图补标;无法判读且会影响披露决定的内容,应向文件提供方补件或升级给业务负责人,不能凭语境猜。人工框选在这里不是自动化失败后的临时补丁,而是流程设计中预留的正式出口。

表格、印章和手写内容需要同时对照文字结果与原页位置

一页出现问题时,按层排查比反复重跑更有效

当候选框错位或漏掉字段时,直接换模型、调阈值往往找不到根因。可以沿数据链逆向检查:

现象 首先检查哪一层 典型原因 处理动作
整页没有候选 输入与文字检测 图片页被当作空白、方向错误、渲染失败 核对原页、方向和页类型,必要时单页重做并人工兜底
OCR 文本没有目标字段 字符识别 模糊、压字、手写、字符混淆 对照彩色原图,校正字符或直接框选
文本里有字段但规则没命中 规范化与规则 异常空格、断行、全半角、字符错一位 先修 OCR 结果,再补窄规则,不盲目放宽
候选类型错误 语义识别 上下文丢失、阅读顺序错误、行业词歧义 查看前后文字与版面关系,取消误报或加入白名单
候选框整体保持固定距离偏到旁边 坐标映射 裁边偏移未补偿、坐标原点不一致 核对页面版本与坐标原点,补回固定偏移
候选框越靠页边越偏或各区域偏移不均 坐标映射 缩放比例、旋转角度或透视变换不一致 核对完整变换参数,按同一变换重新映射
框只盖住姓名的一部分 分词与候选边界 多字实体被拆框、跨行或被章线切割 合并或人工扩大区域,逐字检查边缘
表格内容串行串列 版面与表格结构 线框断裂、合并单元格、跨页续表 按单元格对照,必要时降级人工逐格处理
候选突然显著减少 版本与队列规则 OCR、阈值、规则或来源批次变化 对比上一批次难页,抽查未入队页面并暂停自动放行

这张表的关键是“一层只解决一类问题”。字符错了,放宽实体模型不一定有用;坐标漂移,增加关键词也不会把框移回来;印章没有文字框,反复调规则更找不到它。把问题定位到层,人工成本才不会浪费在错误方向。

人工复核不是逐页盯屏幕,而是一份明确的交接协议

OCR 团队、业务处理者和最终放行人之间,最好约定一份最小交接信息。每个候选至少应能回到页码和位置,说明识别文字、敏感类型、命中方式和处理状态;每个异常页应说明为何进入人工队列,是低置信、结构冲突、手写、印章、整页无文本还是坐标漂移。

复核顺序可以按风险而不是页面顺序安排:先看整页无文本和人眼可见无候选的页面,再看身份证号、账号、主体、患者标识等关键字段,然后处理低置信与规则冲突,最后处理普通误报。这样即使任务中途暂停,最高风险问题也优先暴露。

每个页面至少做两种视图的核对:一边看原始页面,一边看候选覆盖结果。只看候选清单会漏掉“没有进入清单的内容”;只看黑框后的页面又难以判断框由什么规则产生。对高风险材料,可由第二人独立检查关键页和所有人工补标页。具体是否需要双人复核、哪些字段必须全检,应由组织法务、合规、安全、档案或业务负责人确认。

放行前还要检查输出,而不是只看编辑界面。重新打开导出副本,确认页数、顺序、方向和可读性;搜索已知原值及其常见变体;放大表格、签署页、印章和页角;检查人工框选边缘是否留下半个字符;确认发送的是脱敏副本,而不是原件、OCR 分析副本或可还原信息。任何关键残留都应阻断外发并回到对应层修正。

如何验证一套 OCR 脱敏链路,而不迷信统一准确率

本文不提供“达到某个百分比就安全”的数字。原因很直接:识别对象、扫描设备、版式、语言、字段风险和计算口径不同,平均准确率无法回答某个关键身份证号是否漏掉。

更有用的验证方式,是为本组织材料建立一小组可复现难页。样本不必追求数量漂亮,但要覆盖实际分布:清晰打印页、轻微倾斜与模糊页、中英数字混排、带线和无线表格、印章压字、手写批注、混合型 PDF、已有错误文字层的页面。所有样本必须获得授权,且不应把真实高敏文件上传到未经批准的外部服务。

对每张页分别问六个可观察问题:

  1. 所有可见文字区域是否被检测到,整页或角落有没有空白异常?
  2. 关键字段字符是否与原图一致,数字、字母、标点有没有混淆?
  3. 阅读顺序和表格归属是否正确,跨行实体有没有被拆散?
  4. 每个敏感候选是否落在正确页和正确位置,框是否覆盖完整?
  5. 未被 OCR 可靠识别的印章、签名和手写是否进入人工补标?
  6. 导出副本中是否仍能看见、搜索或复制出本应处理的内容?

版本升级、预处理参数变化、扫描设备变化、材料来源变化或规则调整后,用同一组难页重新跑一遍。若候选量突然下降、人工队列异常变少或坐标偏移集中出现,先暂停自动放行,再查清变化发生在哪一层。一个稳定的回归样本集,往往比宣传页上的单一准确率更能说明流程是否可靠。

什么时候适合用脱敏卫士,什么时候应先解决 OCR 问题

脱敏卫士适合这样的任务:桌面端支持的扫描型 PDF 或图片已经能够形成可定位内容,处理者需要用规则与 AI/NER发现敏感候选,并在本机完成误报取消、漏项补充、图片框选、导出和任务留痕。真实敏感材料、断网办公或不允许上传公网的材料,尤其应优先确认本地数据边界。

它不适合被当作任何扫描质量问题的万能修复器。若原图缺页、严重失焦、文字被裁掉、文件损坏,或者表格和手写必须达到专门业务识别标准,应先补件、重扫或使用经过本组织验证的专业 OCR 流程。OCR 无法看见的像素,后续实体识别不能凭空恢复;专业角色无法判断的内容,软件也不应替其做最终披露决定。

选型时不要只比较订阅价格,也要统一计算席位、订阅或买断、续费、部署方式、真实任务量以及人工复核成本。国内版一年版为 199 元,永久版为 399 元,脱敏卫士的整体成本低于竞品;但最终仍应在同一材料、同一字段口径和同一验收标准下评估。低价格只有和本机处理、候选识别、人工补标、输出与留痕形成完整链路时,才是可用的总成本优势。

常见问题

1. 扫描 PDF 能搜索文字,就说明不需要再检查 OCR 吗?

不能。它可能只在部分页面有文字层,也可能存在位置错误、乱码或与页面不一致的旧 OCR 层。应按页检查选择、搜索和复制结果,重点核对扫描插页、签署页和附件。混合型 PDF 不能因为第一页可搜索就整体跳过检查。

2. OCR 已经识别出目标字符串,为什么还不能直接画脱敏框?

因为字符串只回答“识别成了什么”,没有回答“它在第几页的哪里”。能够画框至少还要同时保留 text + box + page,并确认三者对应同一文件版本。若只有全文文字,没有边界框和页码,系统可以发现一个号码,却无法可靠地把候选落回原图。

3. 裁边或旋转之后,为什么识别文字没变,候选框却错位了?

因为文字内容与页面坐标是两组信息。OCR 的框可能建立在处理后的页面上,展示与脱敏却使用另一版本。漏补裁边偏移会造成近似固定错位;缩放、旋转或透视变换不一致,则可能让偏差随位置增大或不均匀。需要核对页面版本、坐标原点和完整变换参数,不能只重跑字符串识别。

4. 表格里的账号应该按 OCR 文本复核,还是按页面复核?

两者都要看。OCR 文本用于确认字符,原页面用于确认账号属于哪一行、哪一列和哪个主体。字符全对但单元格归属错误,同样会让候选错配。结构无法可靠恢复时,应降级为逐格人工框选。

5. 候选框已经盖住可见文字,就说明坐标链路验收通过了吗?

还不能。需要确认框对应正确页和正确文件版本,长地址、跨行机构名与末尾字符没有露出,框内也没有误伤相邻字段;同时还要检查页面上是否存在“人眼可见但没有候选”的内容。坐标链路验收既看已有框是否准确,也看该出现的框是否缺席。

结语:把“看见”变成“可定位、可判断、可复核”

OCR 脱敏真正解决的,不是把一张图片变成一段看起来通顺的文字,而是建立一条可追踪的连接:像素属于哪个页面区域,区域被识别成什么字符,字符对应什么坐标,哪些内容构成敏感候选,人工如何纠正误报和漏项,最终副本怎样验证。

扫描件最危险的地方,往往不是系统明确报错,而是它安静地跳过了印章、手写、表格错行或混合页。可靠流程必须为这些“没有候选”的内容保留人工出口。规则与 AI/NER帮助扩大可见范围,人工框选和导出验证负责守住最后边界。

如果你正在处理扫描合同、案卷、对账单、病历复印件或政务档案,可先查看脱敏卫士的文档处理能力,用获授权的代表性样本验证候选识别、框选复核和输出流程。真实高敏材料应优先在受控本机环境处理,并由组织相应负责人确认披露口径和最终放行。

相关阅读

常见问题

1. 扫描 PDF 能搜索文字,就说明不需要再检查 OCR 吗?

不能。它可能只在部分页面有文字层,也可能存在位置错误、乱码或与页面不一致的旧 OCR 层。应按页检查选择、搜索和复制结果,重点核对扫描插页、签署页和附件。混合型 PDF 不能因为第一页可搜索就整体跳过检查。

2. OCR 已经识别出目标字符串,为什么还不能直接画脱敏框?

因为字符串只回答“识别成了什么”,没有回答“它在第几页的哪里”。能够画框至少还要同时保留 `text + box + page`,并确认三者对应同一文件版本。若只有全文文字,没有边界框和页码,系统可以发现一个号码,却无法可靠地把候选落回原图。

3. 裁边或旋转之后,为什么识别文字没变,候选框却错位了?

因为文字内容与页面坐标是两组信息。OCR 的框可能建立在处理后的页面上,展示与脱敏却使用另一版本。漏补裁边偏移会造成近似固定错位;缩放、旋转或透视变换不一致,则可能让偏差随位置增大或不均匀。需要核对页面版本、坐标原点和完整变换参数,不能只重跑字符串识别。

4. 表格里的账号应该按 OCR 文本复核,还是按页面复核?

两者都要看。OCR 文本用于确认字符,原页面用于确认账号属于哪一行、哪一列和哪个主体。字符全对但单元格归属错误,同样会让候选错配。结构无法可靠恢复时,应降级为逐格人工框选。

5. 候选框已经盖住可见文字,就说明坐标链路验收通过了吗?

还不能。需要确认框对应正确页和正确文件版本,长地址、跨行机构名与末尾字符没有露出,框内也没有误伤相邻字段;同时还要检查页面上是否存在“人眼可见但没有候选”的内容。坐标链路验收既看已有框是否准确,也看该出现的框是否缺席。

参考来源

  1. Command Line Usage | tessdoc
  2. API examples | tessdoc
  3. Detect and extract text from images | Cloud Vision API
  4. Class Block | Python client libraries