我正在寻找一种使用API获取Google文档边框宽度的方法吗?
我已经设置了一个包含两个1单元格表的测试文档。 第一个带有默认边框,第二个带有0宽度边框,第三个带有3 pt边框。
https://docs.google.com/document/d/1KOiw6bmsNhdOGGr9OZDWHNHrEID5RZncyCRRFFSU_Ok/edit
我使用get request
检索文档在边框宽度方面,我找不到这三个表之间的任何区别。
根据documentation TableCellStyle,应该具有borderTop / Bottom / Left / Right值,但是我不确定将它们包含在响应中需要做什么。
所有3个tableCellStyle看起来都一样,
"tableCellStyle": {
"rowSpan": 1,
"columnSpan": 1,
"backgroundColor": {},
"paddingLeft": {
"magnitude": 5,
"unit": "PT"
},
"paddingRight": {
"magnitude": 5,
"unit": "PT"
},
"paddingTop": {
"magnitude": 5,
"unit": "PT"
},
"paddingBottom": {
"magnitude": 5,
"unit": "PT"
},
"contentAlignment": "TOP"
}
每个表格单元格都包含一个具有相同段落样式的段落:
"borderLeft": {
"color": {},
"width": {
"unit": "PT"
},
"padding": {
"unit": "PT"
},
"dashStyle": "SOLID"
},
更新
我在上面的示例中设置了表格边框,该边框未在API响应中表示。 我的假设是表格边框反映在响应数据的单元格中,因为表格边框本身没有属性。部分正确,请参见答案。
答案 0 :(得分:1)
来自TableCellStyle documentation:
继承的表格单元格样式在此消息中表示为未设置的字段。表格单元格样式可以从表格样式继承。
在这种情况下,TableCellStyle继承具有默认样式的默认borderLeft,borderRight,borderTop和borderBottom,其表示形式如下:
"borderTop": {
"color": {
"color": {
"rgbColor": {}
}
},
"width": {
"magnitude": 1,
"unit": "PT"
},
"dashStyle": "SOLID"
}
基本上,如果您要获取边框宽度,则必须首先检查数据中是否存在该边框字段。如果不是,则将其设置为默认值(1 PT
)。例如,结合使用JavaScript及其ternary operator:
var borderTopMagnitude = tableCellStyle.borderTop ? tableCellStyle.borderTop.width.magnitude : 1;
var borderBottomMagnitude = tableCellStyle.borderBottom ? tableCellStyle.borderBottom.width.magnitude : 1;
var borderLeftMagnitude = tableCellStyle.borderLeft ? tableCellStyle.borderLeft.width.magnitude : 1;
var borderRightMagnitude = tableCellStyle.borderRight ? tableCellStyle.borderRight.width.magnitude : 1;
答案 1 :(得分:0)
从新表开始,以下顺序适用。
更改表格边框样式不会反映在API响应中。
单个单元格或所有单元格的变化将反映在API响应中。
执行完第2步后,表格边框样式的更改现在将反映在API响应中,但仅适用于先前已单独修改的单元格。