2016-11-19 77 views
0

當我使用Google Slide API爲我製作幻燈片後,我看到文字框中有文字說'點擊添加文字','點擊添加標題', 同樣的2列方面,我如何設置右邊的文本'點擊添加文本',左邊是相同的。Google Slide API如何替換文字'點擊添加文字'

如何以編程方式找出那些文本框並設置我想要的文本?

這裏是代碼:我1)創建幻燈片,並使其TITLE_AND_TWO_COLUMNS佈局2)創建一個形狀和3)插入文字的形狀。但是,當我瀏覽谷歌驅動的幻燈片,我看到「點擊添加文本」

 IList<Request> requests = new List<Request>(); 
     String slideId = "MyNewSlide_001"; 
     requests.Add(new Request() 
     { 
      CreateSlide = new CreateSlideRequest() 
      { 
       ObjectId = slideId, 
       InsertionIndex = 1, 
       SlideLayoutReference = new LayoutReference() 
       { 
        PredefinedLayout = "TITLE_AND_TWO_COLUMNS" 
       } 
      } 
     }); 

     String textBoxId = "MyTextBox_01"; 
     Dimension pt350 = new Dimension() 
     { 
      Magnitude = 350.0, 
      Unit = "PT", 
     }; 
     requests.Add(new Request() 
     { 
      CreateShape = new CreateShapeRequest() 
      { 
       ObjectId = textBoxId, 
       ShapeType = "TEXT_BOX", 
       ElementProperties = new PageElementProperties() 
       { 
        PageObjectId = slideId, 
        Size = new Size() 
        { 
         Height = pt350, 
         Width = pt350 
        }, 
       }, 
      } 
     }); 

     requests.Add(new Request() 
     { 
      UpdateShapeProperties = new UpdateShapePropertiesRequest() 
      { 
       ObjectId = textBoxId, 
       ShapeProperties = new ShapeProperties 
       { 
        ShapeBackgroundFill = new ShapeBackgroundFill 
        { 
         SolidFill = new SolidFill 
         { 
          Color = new OpaqueColor 
          { 
           ThemeColor = "HYPERLINK" 
          } 
         } 
        } 
       }, 
       Fields = "shapeBackgroundFill.solidFill.color,outline" 
      }, 
     }); 

     // Insert text into the box, using the object ID given to it. 
     requests.Add(new Request() 
     { 
      InsertText = new InsertTextRequest() 
      { 
       ObjectId = textBoxId, 
       InsertionIndex = 0, 
       Text = "New Box Text Inserted" 
      } 
     }); 
+0

到目前爲止,您創建幻燈片的代碼是什麼?你有什麼嘗試? – Bardy

回答

1

那些箱子與「點擊添加文字」文本是被自動複製到從佈局幻燈片佔位符形狀。該文本僅在編輯器中可見:他們不會在當前模式下使用任何文本,除非您直接向其中插入文本。

您可以像插入幻燈片API中的任何其他形狀一樣插入文本。

  • 閱讀頁面或演示文稿的GET的API 之一(presentations.get或presentations.pages.get)
  • 找到對象ID你想要寫的佔位符 。您可以識別哪些是 ,它會查看幻燈片上每個頁面元素上的 pageElement.shape.placeholder 消息。您需要type = TITLE作爲標題,依此類推。
  • 與insertText請求調用BATCHUPDATE添加文字,就像你已經做在你的代碼

一些這是覆蓋在文檔中的Edit text in a specified shape

+0

是否有可能在自定義佈局中爲我的TITLE佔位符提供唯一ID,以便在批量更新之前避免獲取步驟? 理想我想: 1.創建新的幻燈片從自定義layoutId 2.設置標題文本 都在同一批更新請求,無#1後進行get調用,搜索OBJECTID,然後使一個單獨的請求來完成#2。 – rideon88

+0

是 - 請參閱batchUpdate中的'CreateSlideRequest'上的'placeholderIdMappings'參數。這裏有一些關於這個特定用例的文檔(https://developers.google.com/slides/how-tos/create-slide#filling_in_placeholders)。 –