Azure Form Recognizer对Office文档的主线支持

u4vypkhs  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(127)

我一直在使用2022/06/30-preview版本的API来OCR化docx和powerpoint文档,现在API已经稳定下来,并移到了2022-08-31,我已经更新了我的代码来使用这个稳定的版本(只是sdk客户端的版本更新),但是相同的文档现在被拒绝了,错误为InvalidContent"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats."
对Office文档的支持已经被删除了吗?或者有一些设置要添加?从the changelog开始,我似乎没有看到任何提到在上一个预览版和稳定版之间已经删除了支持。
我使用的是node.js SDK。我已经检查过@azure/ai-form-recognizer@4.0.0-beta.5 SDK客户端是否可以接受相同的docx文档,使用相同的代码,但不接受最新稳定的@azure/ai-form-recognizer@4.0.0版本。我使用的代码几乎与quickstart中的示例代码完全相同,只是url发生了变化。

n9vozmp4

n9vozmp41#

  • 根据MSDOC,他们已经放弃了对所有SDK的Microsoft Office文件的支持。
  • 所以,你有两个选择表单识别器确实提供支持,但通过RestAPi支持微软办公文件。所以,你可以进行http调用,也可以将文件转换为pdf,然后使用传统的SDK进行进一步处理。
  • 转换是使用docx-pdf npm包完成的。这里我有一个hjh.docx,我正在转换为pdfuploader.pdf,然后处理它。
const  fs = require("fs");
const { AzureKeyCredential, DocumentAnalysisClient } = require("@azure/ai-form-recognizer");

const key= "";
const endpoint = "";

async  function  main() {
    //convertion logic 
    var  docxConverter = require('docx-pdf');
    docxConverter('./hjh.docx','./pdfuploader.pdf',function(err,result){
        if(err){
            console.log(err);
        }
        console.log('result'+result);
    });

    // form recognizer logic

    const  client = new  DocumentAnalysisClient(endpoint, new  AzureKeyCredential(key));
    const  readStream = fs.createReadStream("<Path>");
    const  poller = await  client.beginAnalyzeDocument("prebuilt-document", readStream,{
        onProgress: ({ status }) => {
            console.log(`status: ${status}`);
        },
    });
    const  e = await  poller.pollUntilDone();
    console.log(e);
    
}
main().catch((error) => {
    console.error("An error occurred:", error);
    process.exit(1);
});

@azure/ai-form-recognizer输出:

@azure/ai-form-recognizer@4.0.0-beta.5输出:

相关问题