书签元素在文档中的位置

@tahir.manzoor

请问如何获取到一个文档元素,如:某一个书签在页面的位置信息(离页面顶端的高度)和在第几页的信息?

谢谢!

@hzjianglf

Aspose.Words.Layout命名空间提供的类允许在将文档格式化为页面时访问诸如页面上的特定文档元素所在的页面和位置等信息。

您可以使用LayoutCollector.GetEntity方法返回与指定节点对应的LayoutEnumerator的不透明位置。 在给定枚举文档且节点文档相同的情况下,可以使用返回值作为LayoutEnumerator.Current的参数。

请检查以下代码示例。

Document doc = new Document(MyDir + "in.docx");
LayoutCollector collector = new LayoutCollector(doc);
LayoutEnumerator enumerator = new LayoutEnumerator(doc);

enumerator.Current = collector.GetEntity(doc.Range.Bookmarks[0].BookmarkStart);
Console.WriteLine("Left:" + enumerator.Rectangle.Left);
Console.WriteLine("Top:" + enumerator.Rectangle.Top);