gpt4 book ai didi

node.js - 如何自动化 Google Drive Docs OCR 功能?

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:28 37 4
gpt4 key购买 nike

我使用 Google Drive 及其 Open with Google Docs 工具将它们转换为 OCR word 文件 (.docx)。因为word文件也保留了格式。我有很多图像,并将它们上传到云端硬盘并将它们一张一张地转换为可编辑的,因为 PDF 转换不起作用。

这次我想耐心等待完成一次转换过程。之后我开始下一次转换,这很耗时。

我使用了 Google OCR API。但它不保留粗体、对齐等格式。

那么,有什么方法可以使用 REST API 来自动化此过程吗?

更新

  1. 已将图像上传至 Google 云端硬盘 link

  2. Google 云端硬盘中图像的右键单击上下文菜单 link

  3. “打开方式”上下文菜单中的 Google 文档 link

  4. 转换过程后,OCR(检测到自动语言)link

  5. 最后是 Google 文档和图像 link

我尝试了 googleapis在 GitHub 上,我选择了驱动器示例 list.js代码。

我的代码

'use strict';

const {google} = require('googleapis');
const sampleClient = require('../sampleclient');

const drive = google.drive({
version: 'v3',
auth: sampleClient.oAuth2Client,
});

async function runSample(query) {
const params = {pageSize: 3};
params.q = query;
const res = await drive.files.list(params);
console.log(res.data);
return res.data;
}

if (module === require.main) {
const scopes = ['https://www.googleapis.com/auth/drive.metadata.readonly'];
sampleClient
.authenticate(scopes)
.then(runSample)
.catch(console.error);
}

module.exports = {
runSample,
client: sampleClient.oAuth2Client,
};

最佳答案

这个修改怎么样?

从您的示例脚本中,发现您正在使用 googleapis。所以在这次修改中,我也使用了googleapis。 Drive 中的图像文件通过 Drive API 中的 files.copy 方法转换为带有 OCR 的 Google 文档。以下修改假设以下几点。

  1. 您正在 Node.js 中使用 googleapis
  2. 当您运行脚本时,您已经通过 Drive API 检索了文件列表。
    • 这表明脚本中的 drive 也可用于 files.copy 方法。

注释:

  • 如果您尚未使用过 Drive API,请查看the quickstart 。 (版本3)。

确认点:

在运行脚本之前,请确认以下几点。

  • 要使用 files.copy 方法,请将 https://www.googleapis.com/auth/drive 添加到 if 中的范围list.js 中的 语句。

修改后的脚本 1(通过提供 files() id 来使用 OCR 转换 Google 文档:

在此修改中,修改了 runSample()

function runSample()
{
// Please set the file(s) IDs of sample images in Google Drive.
const files = [
"### fileId1 ###",
"### fileId2 ###",
"### fileId3 ###", , ,
];

// takes each file and convert them to Google Docs format
files.forEach((id) =>
{
const params = {
fileId: id,
resource:
{
mimeType: 'application/vnd.google-apps.document',
parents: ['### folderId ###'], // If you want to put the converted files in a specific folder, please use this.
},
fields: 'id',
};

// Convert after processes here
// Here we copy the IDs
drive.files.copy(params, (err, res) =>
{
if (err)
{
console.error(err);
return;
}
console.log(res.data.id);
});
});
}

注意:

  • 您的文件(图像)已通过上述脚本转换为 Google 文档,结果(Google 文档)似乎与您的示例(在您的问题中)相同。但我不确定这是否是您想要的品质,请见谅。

引用文献:

修改后的脚本 2(通过单个文件夹使用 OCR 转换 Google 文档并仅选择图像:

  • 您想要通过从特定文件夹中检索文件(图像)将其转换为 Google 文档。
  • 您想要检索 image/pngimage/jpegimage/tiff 的文件。

示例代码语法:

const folderId = "### folderId ###"; // Please set the folder ID including the images.
drive.files.list(
{
pageSize: 1000,
q: `'${folderId}' in parents and (mimeType='image/png' or mimeType='image/jpeg' or mimeType='image/tiff')`,
fields: 'files(id)',
}, (err, res) =>
{
if (err)
{
console.error(err);
return;
}
const files = res.data.files;
files.forEach((file) =>
{
console.log(file.id);

// Please put above script of the files.forEach method by modifying ``id`` to ``file.id``.

});
});

在下一个修改中,修改了整个 runSample()

function runSample()
{
// Put the folder ID including files you want to convert.
const folderId = "### folderId ###";

// Retrieve file list.
drive.files.list(
{
pageSize: 1000,
q: `'${folderId}' in parents and (mimeType='image/png' or mimeType='image/jpeg' or mimeType='image/tiff')`,
fields: 'files(id)',
}, (err, res) =>
{
if (err)
{
console.error(err);
return;
}
const files = res.data.files;

// Retrieve each file from the retrieved file list.
files.forEach((file) =>
{
const params = {
fileId: file.id,
resource:
{
mimeType: 'application/vnd.google-apps.document',
parents: ['### folderId ###'],
},
fields: 'id',
};

// Convert a file
drive.files.copy(params, (err, res) =>
{
if (err)
{
console.error(err);
return;
}
console.log(res.data.id);
});
});
});
}

引用文献:

关于node.js - 如何自动化 Google Drive Docs OCR 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55472454/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com