将HTML保存为Google云端硬盘中的原生Google文档

时间:2014-12-17 16:16:06

标签: google-apps-script

如何将此HTML文件另存为云端硬盘中的原生Google文档。我正在使用DriveApp.createFile()方法保存HTML但忽略了img标记内的图像。

<!DOCTYPE html>
<html>
 <head>
   <meta charset="utf-8">
   <title>Google</title>
 </head>
 <body>
  <img src="https://www.google.com/images/srpr/logo11w.png" />
  <p>The quick brown fox jumped over the lazy dog</p>
 </body>
</html>

1 个答案:

答案 0 :(得分:0)

您提供的HTML是指不在Google云端硬盘中的图片,因此<img>标记在导入过程中不会产生任何有趣的内容。简短的回答是,您需要将图像放入Google Apps,然后将其添加到您的文档中。

执行此操作的一种方法是使用DriveApp将它们添加到驱动器,然后在创建文档后对其进行修改。这确实涉及解析原始HTML以将图像(作为InlineImage)添加到正确的位置。

要做到这一点,我会:

  1. 扫描所有图像位置的原始HTML(可能使用RegExp)
  2. 使用UrlFetchApp.fetch()发出请求。这会返回HtmlResponse
  3. 使用blob
  4. HtmlResponse.getBlob()获取图片
  5. 可选择使用blobDriveApp.createFile()保存到云端硬盘,其中blob
  6. (可选)找出文档中添加图像的位置索引
  7. 使用blob将图像(作为DocumentApp.getActiveDocument.getBody().appendImage())添加到我的文档中(如果我知道将图像放在何处,则使用insertImage(index, image)