如何使用 Google Script 在 Google Slide 上用图像替换文本 示例脚本:参考:

问题描述

如何使用 google Script 而不是 Google Script API 获得相同的结果。我正在尝试使用 Google Script 在 Google 幻灯片上用图片替换文本。提前谢谢你...

function insertimageCentered()
{
  var presentation = SlidesApp.getActivePresentation();
  
  var requests = [{
    "replaceAllShapesWithImage": {
      "imageUrl": "https://docs.google.com/drawings/d/e/2PACX-1vR5mi6ujksb_2WtTFmk39IPYBIBlJ6WkzM1nsys9cT4Wquik627DDIRXzoYTgHPKX3fcvJzG9inDmJt/pub?w=960&h=720","imageReplaceMethod": "CENTER_INSIDE","pageObjectIds": [presentation.getSlides()[0].getobjectId()],"containsText": {
          "text": "{{CENTERED_SHAPE}}","matchCase": false
        }
     }
   }];
  
   Slides.Presentations.batchUpdate({'requests': requests},presentation.getId());
}

解决方法

我相信你的目标如下。

  • 您想将使用 Google Slides API 的脚本转换为使用 Slides Service 的脚本而不使用 Slides API。
    • How do I get the same result using google Script,not with the Google Script API. 开始,我了解到您认为的 Google Script API 可能是指 Google Slides API。通过这个,我认为你的目标和上面一样。

在这种情况下,我认为可以使用replaceWithImage的方法。使用该方法时,脚本如下。

示例脚本:

请将以下脚本复制并粘贴到 Google 幻灯片的脚本编辑器中。并且,请运行myFunction的函数。

function myFunction() {
  var searchText = "{{CENTERED_SHAPE}}";
  var imageUrl = "https://docs.google.com/drawings/d/e/2PACX-1vR5mi6ujksb_2WtTFmk39IPYBIBlJ6WkzM1nsys9cT4Wquik627DDIRXzoYTgHPKX3fcvJzG9inDmJt/pub?w=960&h=720";

  // 1. Retrieve 1st slide.
  var presentation = SlidesApp.getActivePresentation();
  var slide = presentation.getSlides()[0];

  // 2. Replace the shape which has the text of "searchText" with the image of "imageUrl".
  slide.getShapes().forEach(s => {
    if (s.getText().asString().toLocaleUpperCase().includes(searchText.toLocaleUpperCase())) {
      s.replaceWithImage(imageUrl);
    }
  });
}
  • 在您的脚本中,使用了 "matchCase": false。在上面的脚本中,我为此使用了 if (s.getText().asString().toLocaleUpperCase().includes(searchText.toLocaleUpperCase())) {。当您要使用"matchCase": true时,请将其修改为if (s.getText().asString().includes(searchText)) {
  • 并且,如果您想用图片替换只有{{CENTERED_SHAPE}}文本的形状,请将其修改为if (s.getText().asString().trim() == searchText) {

参考:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...