正确使用样式属性的方法

时间:2013-03-04 17:17:59

标签: google-apps-script

我正在使用带有混合结果的DocumentApp.Attribute。这是一个例子:

var underline = {};
underline[DocumentApp.Attribute.UNDERLINE] = true;
underline[DocumentApp.Attribute.WIDTH] = 100;
underline[DocumentApp.Attribute.MARGIN_LEFT] = 10;

doc.appendParagraph("Paragraph text").setAttributes(underline);

段落已创建并加下划线,但其他两个属性未应用。

1 个答案:

答案 0 :(得分:3)

我认为你会发现一个段落不能有边距或宽度属性......它们作为一个整体适用于页面或文档。您可以使用Indent属性集获得您想要的效果。 这引出了下一个问题“如何设置页面属性?”

MARGIN-LEFT显示为Body部分的属性,因此getActiveSection()。setAttributes(style)

我不确定宽度是指什么,但你可以为每个元素类型做一个getAttributes来跟踪它PAGE-WIDTH再次是Body Section的一个属性。玩这个代码......

function myFunction() {
 var doc = DocumentApp.openById("1lqjkdfdsafgdsafsdaQI3kjtY");
var docele = doc.getActiveSection();
Logger.log(docele.getAttributes());
var para = doc.getParagraphs()[0];
var atts = para.getAttributes();
Logger.log(atts)
// Define a custom paragraph style.
var style = {};

style[DocumentApp.Attribute.WIDTH] = 100;
style[DocumentApp.Attribute.MARGIN_LEFT] = 200;
docele.setAttributes(style);

}

对我来说,这给了{UNDERLINE=null, MARGIN_BOTTOM=72.0, PAGE_HEIGHT=792.0, BOLD=null, BACKGROUND_COLOR=null, FONT_SIZE=null, FONT_FAMILY=null, STRIKETHROUGH=null, MARGIN_LEFT=10.0, PAGE_WIDTH=612.0, LINK_URL=null, ITALIC=null, MARGIN_RIGHT=72.0, MARGIN_TOP=72.0, FOREGROUND_COLOR=null}

的正文部分属性

{UNDERLINE=null, INDENT_END=8.25, LEFT_TO_RIGHT=true, BOLD=null, BACKGROUND_COLOR=null, FONT_SIZE=12, FONT_FAMILY=Comic Sans MS, SPACING_BEFORE=null, SPACING_AFTER=null, STRIKETHROUGH=null, INDENT_START=0.0, LINE_SPACING=null, LINK_URL=null, ITALIC=null, INDENT_FIRST_LINE=0.0, HORIZONTAL_ALIGNMENT=null, HEADING=null, FOREGROUND_COLOR=null}

的段落属性

这为设置属性的替代形式提供了线索 docele.setAttributes({"FOREGROUND_COLOR":"#ff0000"})