0

我有一个谷歌文档。DOC 已嵌入谷歌图表。我正在编写一个 Google 脚本来将文档的内容传输到工作表。该脚本遍历文档“body's children”,识别它是段落还是表格,如果是段落,则提取文本、内嵌线图或内嵌图像。

现在,在 DOCS 中,图表被表示为图表的图像,而不是图表本身。Google Docs 执行生成图像的请求(例如https://docs.google.com/a/mydomain.com/drawings/d/sDanx1eRvHChcrvgj1IIdCQ/image?w=719&h=573&rev=1346&ac=1 )方式,但这是一个不同的话题)。此类图像作为持久文件存储在“某处”,并通过另一个请求合并到文档中(例如文件系统:https ://docs.google.com/persistent/docs/documents/1DlxAjdWZAVOkGvq1CZvsbEpxBNs8bDCPW1972UKfbxU/drawing/sDanx1eRvHChcrvgj1IIdCQ?zx=xxuxts66tny4 ) . 图像的常规直接 URL 也不是。

'=IMAGE' 功能和其他谷歌“对话框屏幕”(如从文档中的 URL 插入图像)将无法解决它们。使用 '=IMAGE' 的偏好是图像保留在单元格中。

此外,INLINE IMAGE 类型似乎没有提供获取这些 URL 或图表文档 ID 的方法。即使我可以获取 URL,直接使用 URL 或“获取”它们以从中创建 Blob,我也只看到它们对 InsertImage 方法很有用,这会使图像与单元格分离。

显然,即使使用通过 insertImage(blob) 生成图像的 URL,也无法说明存在服务器错误。

有任何想法吗?

4

1 回答 1

0

如果您的嵌入图像有链接,您可以使用getLinkUrl()。Google Apps 脚本没有直接获取嵌入式绘图 URL 的方法。

我还没有对此进行测试,我认为它应该可以工作。

由于 Google 表格功能IMAGE需要一个可公开访问的图像的 URL,因此当您准备将在电子表格上使用的 Google 绘图时,

  1. 将绘图发布到网络
  2. 获取已发布图片的 URL
  3. 将 Google 绘图添加到文档中
  4. 添加已发布图像的 URL 作为嵌入图像的链接

然后,当您将内容从 Google 文档传输到 Google 电子表格时,您可以使用getLinkUrl()获取 URL 并将其添加为IMAGE的参数

于 2017-11-16T20:36:59.953 回答