摘要:import requestsimport jsondef get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.readclass TextinOcr(object):def
近期,为便捷智能文档处理流程,TextIn文档解析推出内测版本,支持内置参数,完成去水印与切边矫正处理,有效提升解析准确率与输出结果质量。
如何获得内测资格: 内测功能以白名单邀请制的形式进行小范围测试,如有需要,请在公众号后台或扫描文末二维码联系我们进行开通。
实操场景下,部分带有明显水印的文件,会在解析过程中由于水印干扰产生错漏字现象。
TextIn ParseX将去水印功能内置到了产品中,帮助提升解析效果,减少文件另行去水印带来的时间消耗,同时也让代码编写更为便捷。
使用示例:步骤一:登录TextIn官网TextIn - API中心,获取app-id和secret-code。
步骤二:调用官方示例代码:
import requestsimport jsondef get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.readclass TextinOcr(object):def __init__(self, app_id, app_secret):self._app_id = app_idself._app_secret = app_secretself.host = 'https://api.textin.com'def recognize_pdf2md(self, image, options):"""pdf to markdown:param options: requestparams:param image: file bytes:return: responseoptions = {'pdf_pwd': None,'dpi': 144, # 设置dpi为144'page_start': 0,'page_count': 1000, # 设置解析的页数为1000页'apply_document_tree': 0,'markdown_details': 1,'page_details': 0, # 不包含页面细节信息'table_flavor': 'md','get_image': 'none','parse_mode': 'scan', # 解析模式设为scan}"""url = self.host + '/ai/service/v1/pdf_to_markdown'headers = {'x-ti-app-id': self._app_id,'x-ti-secret-code': self._app_secret}return requests.post(url, data=image, headers=headers, params=options)if __name__ == "__main__":# 请登录后前往 “工作台-账号设置-开发者信息” 查看 app-id/app-secrettextin = TextinOcr('#####c07db002663f3b085#####', '######1b1b11a9f9bcd7cc7b######')image = get_file_content('file/example.pdf')resp = textin.recognize_pdf2md(image, {'page_start': 0,'page_count': 1000, # 设置解析页数为1000页'table_flavor': 'md','parse_mode': 'scan', # 设置解析模式为scan模式'page_details': 0, # 不包含页面细节'markdown_details': 1,'apply_document_tree': 1,'dpi': 144 # 分辨率设置为144 dpi})print("request time: ", resp.elapsed.total_seconds)result = json.loads(resp.text)with open('result.json', 'w', encoding='utf-8') as fw:json.dump(result, fw, indent=4, ensure_ascii=False)步骤三:将下列去水印的参数集成到代码中,替换上述源代码中的48-62行
resp = textin.recognize_pdf2md(image, {'remove_watermark':1, # 去水印功能的控制参数'get_image': 'objects'})result = json.loads(resp.text)filepath = 'pdf2md_remove_watermark.md'with open(filepath, 'w', encoding='utf-8') as f:f.write(result['result']['markdown'])步骤四:运行最终替换好的代码并得到去水印后识别更精准的解析文件。
效果示例:可以看到,不仅解析结果中全文没有出现水印上的文字内容,还一并去除了图片上的水印,用户可以轻松提取到干净的文字及插图。
注意事项:内测版本还支持用户内置图片切边矫正能力,用于提升拍摄角度不正或歪曲变形的照片的识别效果。
常用场景:医疗报告单据、征信报告、作业照片等使用示例:步骤一:登录TextIn官网TextIn - API中心,获取app-id和secret-code。
步骤二:调用官方示例代码
步骤三:将下列切边矫正增强功能的参数集成到代码中,一键替代源代码中的48-62列
resp = textin.recognize_pdf2md(image, {'crop_enhance':1, # 切边矫正增强功能的控制参数})result = json.loads(resp.text)filepath = 'pdf2md_remove_watermark.md'with open(filepath, 'w', encoding='utf-8') as f:f.write(result['result']['markdown'])步骤四:运行最终替换好的代码并得到切边矫正后识别更精准的解析文件。
效果示例:无切边矫正的效果
无切边矫正的效果
无切边矫正的效果
切边矫正之后的效果
切边矫正之后的效果
切边矫正之后的效果
可以看到,在矫正之后,表格的解析准确率有显著提高,同时,表格边框错误的问题也得到了优化。
切边矫正的能力存在上限,并不能完美解决所有照片歪曲的问题,如有可能,建议尽量保证输入图片的质量。 有需求的用户请在公众号后台或扫描下方二维码联系我们,获得内测名额。
如果您在使用过程中有其他要求或建议,也欢迎随时与我们沟通!
Textln文档解析新年福利活动:9.9 元购买1000页额度,认证用户可额外申请1000页福利,快来查收!
来源:小胡科技天地