如何用Document AI提取PDF不同章节?Flutter Web调用API遇问题
解决PDF章节列表提取的FieldMask问题
先确认API是否支持大纲提取
你得先搞清楚你调用的REST API本身有没有提取PDF章节(大纲/目录)的能力——不少PDF处理API默认不会返回这类结构,得在请求里显式开启对应功能,或者调用专门的端点。比如有些API需要在请求体里加extractOutline: true这类参数,才会返回章节数据。精准匹配FieldMask字段
如果API支持FieldMask过滤,你得对应到大纲数据的正确字段路径:- 要是用Adobe PDF Services Extract API,章节数据通常在
documentInfo.outlines节点下,FieldMask可以写documentInfo.outlines - 用Google Cloud Document AI的话,大纲字段在
document.outline下,FieldMask填document.outline就能拿到完整结构 - 自定义/开源API的话,先看无FieldMask时的完整响应,找到章节对应的字段(比如
chapters、tableOfContents),再把这些字段路径加到FieldMask里
- 要是用Adobe PDF Services Extract API,章节数据通常在
调试方法
先去掉FieldMask,请求完整的API响应:- 如果完整响应里根本没有章节数据,那要么是API不支持该功能,要么是你漏传了开启大纲提取的参数
- 如果完整响应里有章节结构,直接把对应的字段路径复制到FieldMask里即可(比如响应里是
{"outline": [{"title": "Test your processor", "page": 2}]},FieldMask就写outline)
Flutter Web请求注意事项
确保请求参数、头信息正确:比如上传PDF时要用FormData格式,请求头的Content-Type要匹配API要求,认证信息(比如API Key)没传错。
内容的提问来源于stack exchange,提问作者Amir Hossein Rahmanzadeh
相关产品推荐
相关产品推荐

