Azure Form Recognizer如何识别垂直文本?代码调用无效求方案
解决Azure Form Recognizer代码调用无法识别垂直文本的问题
问题根源
Form Recognizer Studio默认开启了多方向文本识别能力,但直接调用API或SDK时,默认配置仅识别水平文本,需要手动开启对应参数才能激活垂直/任意方向文本识别。
具体解决步骤
1. REST API调用场景
在请求的JSON体中添加readingOrder参数并设为natural,同时指定对应语言(比如中文、日文这类常见垂直排版语言),示例请求体:
{ "urlSource": "https://你的蓝图图片地址", "language": "zh-Hans", "readingOrder": "natural" }
该参数会触发引擎自动检测并识别任意方向的文本内容。
2. C# SDK调用场景
创建AnalyzeDocumentOptions实例时,将ReadingOrder设为ReadingOrder.Natural,同时指定语言:
var options = new AnalyzeDocumentOptions() { ReadingOrder = ReadingOrder.Natural, Language = "zh-Hans" }; var operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, "prebuilt-read", documentUri, options);
3. Python SDK调用场景
调用begin_analyze_document方法时,传入reading_order="natural"和language="zh-Hans"参数:
poller = client.begin_analyze_document( "prebuilt-read", document_url, reading_order="natural", language="zh-Hans" ) result = poller.result()
注意事项
- 必须使用Form Recognizer v3.1及以上版本的API/SDK,旧版本不支持该配置项。
- 如果蓝图包含多种语言,可将
language设为"auto"让引擎自动检测,但精准指定语言能提升识别准确率。
内容的提问来源于stack exchange,提问作者Daniel Mol
相关产品推荐
相关产品推荐

