【问题标题】:How to split line of text (first half bold, second half not bold) when creating document using Google Script使用谷歌脚本创建文档时如何分割文本行(前半部分粗体,后半部分非粗体)
【发布时间】:2013-06-22 22:25:41
【问题描述】:

代替:

doc.appendparagraph();

如何在文档中添加一行文本而不返回下一行?

我正在尝试拆分一行文本并用.setAttributes(bold);加粗句子的前半部分

我用....定义的粗体

var boldpl = {};
boldpl[DocumentApp.Attribute.BOLD] = true;

谢谢。

我已经想出了如何使用合并功能以迂回的方式执行此操作,但是如何添加新行而不是新段落?没有 doc.appendText();有什么功能吗?

还有一种简单的方法可以使我的文档成为单行距吗?

【问题讨论】:

    标签: google-apps-script google-docs


    【解决方案1】:

    你在那里问了很多不同的问题!

    给定一个现有段落,它的某些部分如何呈现 粗体而其余保持正常?

    一个Document 包含一个Body,它可以包含Paragraphs,每个都可以包含其他元素,包括Text。您可以将该文本作为一个字符串(您不能用它做很多事情)或作为Text Object 来获取。下面是使用Text.setBold() 方法将段落中的一些文本更改为粗体的示例:

    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();
    var firstParagraph = body.getParagraphs()[0];
    textElement = firstParagraph.editAsText();
    
    textElement.setBold(0,6,true); // Set the 0th to 6th characters bold
    

    或者,您可以将Text.setAttributes() 方法与您的自定义属性boldpl 一起使用:

    textElement.setAttributes(0,6, boldpl)
    

    从该构建块开始,您可以执行以下操作:

    • 从段落的开头到第一次出现冒号 (:) 应用粗体。
    • 将粗体应用于前几个单词。
    • ...甚至在前半部分加粗!

      textElement.setBold(0,
                          Math.floor((textElement.getText().length)/2),
                          true);
      

    没有 doc.appendText();有什么功能吗?

    没有...但是有一个Paragraph.appendText() 方法。

    还有一种简单的方法可以使我的文档成为单行距吗?

    您可以通过设置各个段落的属性来控制段落中文本的行距。见Paragraph.setLineSpacing()。这是一个将文档中的每个段落设置为单行距的函数:

    function singleSpace() {
      var doc = DocumentApp.getActiveDocument();
      var bodyElement = DocumentApp.getActiveDocument().getBody();
      var paragraphs = bodyElement.getParagraphs();
    
      // Set each paragraph to single-spaced
      paragraphs.forEach( function( paragraph ) {
        paragraph.setLineSpacing( 1.0 );
      });
    }
    

    【讨论】:

    • 这个答案很漂亮。
    • @Mogsdad,很好的解释 - 您能否详细说明您将如何实现我们上面的部分答案“从段落的开头应用粗体,直到第一次出现冒号 (:)。”我正在尝试将其应用于我的代码,但似乎无法隔离:
    猜你喜欢
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多