我已经使用Google和它的工具将它们转换为OCR文件(.docx)。因为单词文件也保留了格式设置。我有许多图片,并上传他们驱动器和转换成可编辑的一个一个,因为PDF转换不工作。
在这段时间里,我想耐心地等待完成一个转换过程。之后,我开始下一次转换,这很费时。
我使用了。但它不保留格式,如粗体、对齐等。
那么,有任何方法可以使用REST来自动化这个过程吗?
更新





我在GitHub上尝试了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,
};发布于 2019-04-06 23:32:36
这个修改怎么样?
从您的示例脚本中,可以发现您正在使用googleapis。因此,在这个修改中,我也使用了googleapis。驱动器中的图像文件通过驱动API中的files.copy方法,用OCR转换成Google。下面的修改假定以下几点。
drive也可以用于files.copy方法。
备注:
确认点:
在运行脚本之前,请确认以下几点。
files.copy方法,请将https://www.googleapis.com/auth/drive包含到list.js的if语句中的作用域中。修改后的脚本1(通过提供file()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);
});
});
}注意:
参考文献:
修改后的脚本2(通过单个文件夹转换带有OCR的Google文档,并只选择图像:
image/png、image/jpeg和image/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);
});
});
});
}参考文献:
https://stackoverflow.com/questions/55472454
复制相似问题