Amazon Textract调用时如何选择Raw Text选项提取原始文本
解决方案
根本原因
- 你当前调用的
analyzeDocument是Amazon Textract的结构化分析接口,要求必须传入TABLES/FORMS等合法FeatureType参数,本身不支持纯原始文本提取的需求 - 控制台的Raw Text提取功能对应Textract的专用文本检测接口
detectDocumentText,无需配置FeatureTypes参数,直接返回全页原始文本、行、单词三级识别结果
修正后的代码示例
const params = { Document: { Bytes: Buffer.from(fileData) } // 无需传入FeatureTypes参数 }; const textract = new AWS.Textract({ region: awsConfig.awsRegion, accessKeyId: awsConfig.awsAccesskeyID, secretAccessKey: awsConfig.awsSecretAccessKey }) // 调用detectDocumentText而非analyzeDocument textract.detectDocumentText(params, (err, data) => { console.log(err, data) if (err) { return resolve(err) } else { resolve(data) } })
补充说明
- 从成本角度考虑,
detectDocumentText的计费标准远低于带FeatureType参数的analyzeDocument接口,更适合纯原始文本提取场景 - 返回结果中
Blocks数组类型为LINE的元素即为按行拆分的原始文本,类型为WORD的元素为拆分后的单个单词,直接提取对应Text字段即可获得识别结果
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

