2016-11-19 7 views
0

Google Slide APIを使用してスライドを作成した後、「テキストを追加するにはクリックしてください」、「タイトルを追加するにはクリックしてください」、 2列の辺でも同じように、「テキストを追加するにはクリックする」というテキストを設定し、左にも同じようにテキストを設定できます。Google Slide APIテキストの置き換え方法「クリックしてテキストを追加する」

これらのテキストボックスをプログラムで見つけて、必要なテキストを設定するにはどうすればよいですか?

コードは次のとおりです。1)スライドを作成し、TITLE_AND_TWO_COLUMNSレイアウトにします。2)図形を作成し、3)図形にテキストを挿入します。しかし、私はGoogleのドライブでスライドを表示したときに、私が見る「テキストを追加するためにクリックして」

 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

これらのボックスには、「テキストを追加するためにクリックして」テキストを、自動的にレイアウトからあなたのスライドにコピーされているプレースホルダシェイプです。そのテキストはエディタでのみ表示されます。テキストを直接挿入しない限り、現在のテキストは表示されません。

Slides APIの他の図形と同様に、テキストを挿入することができます。

  • あなたはどの特定することができます。オブジェクトIDにあなたがで書きたいプレースホルダの を探す
  • GET APIを (presentations.getまたはpresentations.pages.get)のいずれかでページやプレゼンテーションを読みますあなたのスライド上の各ページ要素に を見て、 pageElement.shape.placeholder というメッセージが表示されます。タイトルにはtype = TITLEのようになります。 insertText要求に
  • コールbatchUpdateメは、すでにあなたのコード

これのいくつかは、ドキュメントのEdit text in a specified shapeで覆われている中でやっているだけのように、テキストを追加します。

+0

TITLEのプレースホルダにカスタムレイアウトの一意のIDを付けることは可能ですか?バッチ更新前の取得手順を避けることはできますか? は、理想的には私がしたい: 1.カスタムから新しいスライドを作成 2.、#1の後にget呼び出しを行うOBJECTIDを検索してからにすることなく、すべて同じバッチ更新要求にタイトルテキスト を設定layoutId #2を達成するための別の要求。 – rideon88

+0

はい - batchUpdateの 'CreateSlideRequest'の' placeholderIdMappings'パラメータを参照してください。ここには、この特定の用途のためのドキュメント(https://developers.google.com/slides/how-tos/create-slide#filling_in_placeholders)があります。 –

関連する問題