从事PDF文档解析的从业者想必都深有体会:文件明明就在眼前,一提取就出现乱码,特别是那些字体缺失、编码异常的历史文件,简直如同加密一般。Longcat AI在这一领域开辟了一条更巧妙的路径——它不执着于OCR技术,而是直接从PDF自身的文本层入手,绕过那些容易产生错误的失真环节,构建更稳健的语义映射。根据实测数据,合规PDF文件的提取准确率可达95%以上,对于LaTeX、Typst或现代Word导出的文档,更是几乎实现零损耗。

这个问题的关键不在于“修复乱码”,而在于从一开始就避免走入歧途。传统方法采用扫描→OCR流程,一旦遇到嵌入字体缺失、CID编码未映射、横向文字或非标准字库时,输出结果就会立即崩溃。Longcat AI默认采用“文本层直读+结构还原”策略:优先解析PDF内嵌的Text Operator指令与Unicode映射表,只要其中包含有效的文本对象(/ToUnicode CMap、/ActualText标签等),就直接提取原始语义字符串,完全不依赖图像识别模块。
- 针对Acrobat生成的合规PDF(具备完整字体描述和Unicode映射),提取准确率超过95%
- 对于LaTeX导出PDF、Typst或现代Word导出的文档,文本层完整,OCR可完全省略
- 若检测到文本层为空或已损坏,系统自动降级为“混合模式”:仅对插图或表格区域启用轻量级OCR,其余部分保持原文本流
动态字体解码与上下文纠错
面对那些使用了自定义子集字体(如.afm/.cff字体子集)且未附带ToUnicode表的PDF,该如何处理?Longcat AI会启用运行时字体逆向解析引擎:依据Glyph ID、字符形变特征,再结合上下文词频模型,推断最可能的Unicode码位。举例来说,“”这类符号经常被误提取为“�”或“â–º”,系统会分析其前后是否存在项目符号的规律(例如“1. … 2. …”),缩进是否一致,然后对照常用符号词典,将其映射为U+2022(•)或U+27A4(➤)。
- 对中日韩汉字提供CID-to-Unicode多映射回溯(兼容Adobe-Japan1-6、GB-EUC、UTF-16BE等主流编码场景)
- 数学公式区域配备专用符号识别器,能够区分斜体变量(x)、希腊字母(α/β)、运算符(∑/∫),避免统一变成乱码占位符
- 每段提取后采用n-gram语言模型进行评分,低置信度片段会触发局部重新解析,而非直接丢弃
结构感知的段落重建
PDF天生缺乏段落概念,原始文本流常常因换行符缺失、空格压缩、双栏布局等问题导致语义割裂。Longcat AI在文本提取之后增加了一道“逻辑段落重建”工序:利用字体大小/行距突变、缩进变化、标点密度,再结合视觉坐标聚类(PDF页面坐标系下文本块的空间关系),重新组织成符合阅读习惯的段落,同时保留标题层级、列表项、脚注锚点等结构信息。
- 识别出“连续小写字母+句号+空格+大写字母”的模式,自动补全被截断的句子边界
- 处理双栏PDF时,先按Y坐标分组,再按X坐标排序,避免左右栏文字交错混杂
- 脚注与正文分离处理,通过“¹ / [1] / 上标数字”等线索定位并关联引用位置
用户可控的修复反馈闭环
系统还提供一个“提取预览+差异标注”界面——左侧展示原始PDF片段,右侧呈现解析结果,乱码嫌疑字符以浅红底色高亮显示,并给出替换建议(例如“疑似‘函数’→ 当前提取为‘函数’,是否替换?”)。用户点击确认后,该字形映射即存入个人字体缓存,下次遇到同类PDF时自动复用。
- 支持上传PDF的字体文件(.ttf/.otf)用于离线映射校准
- 企业版开放API接口,允许对接内部术语库,对专业缩写(如“LSTM”、“ReLU”)强制保留原始写法,不进行Unicode归一化
- 所有修正操作均留痕,可导出清洗日志供合规审计
