google-api - 在 Google 文档中打开图片
问题描述
只是一点背景:您可能知道,如果您在 Google 驱动器中有一张图片,并且您尝试使用 Google Docs 打开它,Google 会尝试提取您图片中的文本 (OCR),并在新的图片旁边显示文本创建了谷歌文档文件。
我正在编写一个脚本,并且在该脚本中我想用 Google Docs 打开一个图像(带有一些文本)。
当我尝试通过以下代码执行此操作时,我只是一条错误消息,没有说明它失败的原因。
var file_url = file.getUrl();
try
{
var doc = DocumentApp.openByUrl(file_url);
}catch (e) {
Logger.log("Error Occurred: " + e.toString());
}
任何帮助,将不胜感激。
编辑1:这是一个实际场景。我有以下 .png 图像,我可以使用 Google Docs 打开它。
当我使用 Google Docs 打开时,我得到以下文档:
使用 Google Doc 打开 .png 图像后生成的文档。
有了这个 .png 文件的 url,我想通过我的脚本来完成这一切,这样我就可以得到 OCR 生成的文本。
解决方案
- 您想使用 Google Apps 脚本通过 OCR 将 PNG 文件转换为 Google 文档。
如果我的理解是正确的,那么这个修改呢?在此修改中,使用了 Drive API。
使用此脚本时,请在高级 Google 服务和 API 控制台启用 Drive API。你可以在这里看到这个。
修改后的脚本:
var fileId = "### file ID of PNG file ###";
var file = DriveApp.getFileById(fileId);
Drive.Files.insert(
{title: file.getName(), mimeType: MimeType.GOOGLE_DOCS},
file.getBlob(),
{ocr: true}
);
笔记:
- 当 PNG 文件的 URL 像
https://drive.google.com/file/d/#####/view?usp=sharing
时,#####
是文件 ID。 - 在此修改后的脚本中,创建的 Document 的文件名使用由
fileId
. 如果要使用其他文件名,请修改title: file.getName()
.
参考:
推荐阅读
- anaconda - 在 Windows 上更改 .conda 和此类文件夹的默认路径
- csv - 蜂巢 - 一次转义斜杠和双引号
- reactjs - 试图让世博链接在反向代理后面工作
- python - 为什么不显示闪信?
- android - Android:我在代码序列中有一些错误
- pandas - 在python pandas的时间戳中合并字符串日期和int Hour
- javascript - Bootbox 回调保留缓存页面
- sql - 仅当行不存在时,如何在 SQL Server 中执行插入操作?
- html - 宽度为 100vw 的 Div 不适合屏幕
- python - 如何在字符串中对管道进行单转义:意外的 str.replace 行为