求教,如何通过数据表名称获取某一行记录的图片url进行文字识别?
根据WPS开发平台案例,批量将获取的图片url进行文字识别的代码如下:
const access_token="24.b845890294a2d99b4ddfbcc6a2611367.2592000.1758292780.282335-119814960"
function main() {
const view = Application.ActiveSheet.Views(1)
const count = view.RecordRange.Count
// 获取所有记录的图片附件值
const attachments = view.RecordRange('1:'+count, ["@图片和附件"]).Value
// console.log(attachments)
// 获取对应的url
const urls = []
let attachment = []
// 这里的attachments是一个二维数组
for(let i=0;i<attachments.length;i++){
urls[i] = []
attachment = attachments[i][0].Value
for(let j = 0;j<attachment.length;j++){
urls[i].push(attachment[j].LinkUrl || null)
}
}
// console.log(urls)
let words = []
let url = []
for(let i=0;i<urls.length;i++){
url = urls[i]
if(url){
words[i] = [getText(url)]
}else{
words[i] = ['']
}
// console.log(words[i])
}
// console.log(recordIds,words)
// 赋值到对应的 ‘识别文字’ 这一栏
view.RecordRange('1:'+count,["@识别文字"]).Value = words
}
// 调用接口把所有的url转换为文字
function getText(urls){
const word = urls.reduce((word,url)=>{
// console.log('调用1次')
let resp = HTTP.fetch('https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token='+access_token,{
method:"POST",
timeout:2000,
headers:{
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'Authorization': access_token
},
body: `url=${encodeURIComponent(url)}`
})
if(resp.status !== 200){
throw new Error("fetch err! status is "+resp.status)
}
return word + resp.text()
},'')
return word
}
main()
在上述代码基础上,怎么修改,通过数据表名称获取某一行记录的图片url进行文字识别?
创作者俱乐部成员