如何通过应用程序脚本获取元素在谷歌文档中的绝对位置?

时间:2017-06-08 18:13:18

标签: google-apps-script google-docs

我正在处理与Google Doc相关的附加组件,并希望从元素所在的页面知道某个元素的绝对位置。

例如,如果第1页中有3个段落,我想根据整个页面1知道第3段起点的leftOffset和topOffset。

有没有办法做到这一点?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您实际上不能在google脚本中拥有对象的位置,但是可以拥有

元素的ID(y pos)和光标所在的偏移量(x pos):

var cursor = doc.getCursor();
var element = cursor.getElement();

var y_position = DocumentApp.getActiveDocument().getBody().getChildIndex(e);
var x_position = cursor.getOffset();

答案 1 :(得分:0)

经过Google的开发人员支持检查,以下是我从中获得的答案:

"关于图像的绝对偏移位置的信息不直接暴露。

您可以自己计算它,但有效地执行此操作需要运行文档的呈现逻辑。您需要查看所有前面元素的属性,字体指标,计算行长度和数据。包装等。不是微不足道的,但可能。

您可以通过将文档导出为PDF或docx等格式来获取快捷方式。不确定这些格式的功能,但可能有库可以为您进行这些计算。可能会有点损失。"

希望这可以帮助任何有同样问题的人:)