0

我正在使用 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);

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

4

1 回答 1

3

我认为您会发现段落不能具有 Margin 或 width 属性……它们适用于整个页面或文档。通过使用 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"})

于 2013-03-06T01:56:36.633 回答