0

当我使用 Abbyy 云 SDK 进行 OCR 时,当我尝试使用 AbbyyR 包中的 ocrFile 函数时,我不断收到以下错误。

“ curl_download 中的错误(finishedlist$resultUrl[res$id == finishedlist$id], : 参数 'url' 必须是字符串。”

当我将文件发送到云并处理它们时,一切正常,但是当云返回文件时,下载它们时出现问题。我认为这可能是网络或证书问题,但我无法解决问题。

提前致谢

4

1 回答 1

3

源码有问题,url需要as.character()函数。我更新了 ocrFile 函数如下:

    install.packages("curl")
    library(curl)

    new_ocrFile<-function (file_path = "", output_dir = "./", exportFormat = c("txt", 
                                                                  "txtUnstructured", "rtf", "docx", "xlsx", "pptx", "pdfSearchable", 
                                                                  "pdfTextAndImages", "pdfa", "xml", "xmlForCorrectedImage", 
                                                                  "alto"), save_to_file = TRUE) 
    {
      exportFormat <- match.arg(exportFormat)
      res <- processImage(file_path = file_path, exportFormat = exportFormat)
      while (!(any(as.character(res$id) == as.character(listFinishedTasks()$id)))) {
        Sys.sleep(1)
      }
      finishedlist <- listFinishedTasks()
      res$id <- as.character(res$id)
      finishedlist$id <- as.character(finishedlist$id)
      if (identical(save_to_file, FALSE)) {
        res <- curl_fetch_memory(as.character(finishedlist$resultUrl[res$id == 
                                                          finishedlist$id]))
        return(rawToChar(res$content))
      }
      curl_download(as.character(finishedlist$resultUrl[res$id == finishedlist$id]), 
                    destfile = paste0(output_dir, unlist(strsplit(basename(file_path), 
                                                                  "[.]"))[1], ".", exportFormat))
    }

我希望,它有帮助。

于 2017-07-05T14:18:55.680 回答