【问题标题】:How do you center text in a textbox?如何在文本框中将文本居中?
【发布时间】:2018-06-26 11:50:15
【问题描述】:

您好,您正在尝试使用 Apps 脚本在 Google 幻灯片的文本框中将一些文本居中。但是它不起作用。不确定当前的功能是什么。网上找不到答案。请帮忙。

var id = template.makeCopy(rows[i][0] + ' ' + rows[i][1],destination).getId(),
      slide = SlidesApp.openById(id).getSlides()[0],
      shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 205, 130, 300, 60),
      textRange = shape.getText(),
      textStyle = textRange.getTextStyle();

  textRange.setText([rows[i][0] + ' ' + rows[i][1]]);
  textStyle.setFontSize(40);
  textStyle.setForegroundColor('#F9B300');
  textStyle.setTextAlignment(SlidesApp.TextAlignment.CENTER);

【问题讨论】:

    标签: google-apps-script google-slides


    【解决方案1】:

    我使用Apps script's sample 跟踪代码:

    var slide = SlidesApp.getActivePresentation().getSlides()[0];
    var shape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, 50, 50, 300, 300);
    var textRange = shape.getText();
    textRange.setText('Paragraph 1\nParagraph2\nParagraph 3\nParagraph 4');
    var paragraphs = textRange.getParagraphs();
    for (var i = 0; i < 3; i++) {
      var paragraphStyle = paragraphs[i].getRange().getParagraphStyle();
      paragraphStyle.setParagraphAlignment(SlidesApp.ParagraphAlignment.CENTER);
    }
    

    我尝试使用getTextStyle();,但没有setTextAlignment。我注意到,在 Apps 脚本示例代码中,他们使用 getText() 仅用于设置文本或设置文本样式,并使用 getParagraphStyle() 设置项目的样式,例如对齐方式和其他与段落相关的样式。

    希望这会有所帮助。

    【讨论】:

    • 上面这个很好的例子解决了文本框中文本的水平对齐问题。有没有人发现垂直对齐的方法?
    • 另外,在创建带有批量更新的文本框时,这是如何工作的?
    猜你喜欢
    • 1970-01-01
    • 2015-07-29
    • 2011-03-29
    • 1970-01-01
    • 2014-09-02
    • 2014-08-08
    • 2014-07-21
    • 2011-06-12
    • 2012-07-23
    相关资源
    最近更新 更多