而不是:
doc.appendparagraph();
如何在不返回下一行的情况下为文档添加一行文本?
我正试图打破一行文字并用.setAttributes(bold);
我使用....定义的粗体。
var boldpl = {};
boldpl[DocumentApp.Attribute.BOLD] = true;
。
谢谢。
我已经想出如何使用合并功能以迂回方式执行此操作,但是如何添加新行而不是新段落?没有doc.appendText();功能有吗?
还有一种简单的方法可以使我的文档单行间隔吗?
答案 0 :(得分:5)
你在那里问了很多不同的问题!
给定一个现有段落,如何呈现它的某些部分 大胆,其余的仍然正常吗?
Document包含Body,其中可以包含Paragraph个,其中每个都可以包含其他元素,包括文本。您可以将该文本作为字符串 - 您无法做多少 - 或作为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 );
});
}