section.Body里没有Bookmarks方法
时间: 2024-01-10 15:04:00 浏览: 118
非常抱歉,我的回答有误。确实在 Spire.Doc 的 Section 类中没有 Bookmarks 属性。你可以采用以下方式来获取某页码上所有书签:
```csharp
using Spire.Doc;
using Spire.Doc.Documents;
// 假设你已经加载了文档并获取了某个页码的 Section 对象
Section section = document.Sections[0];
int pageIndex = 2;
foreach (BookmarkStart bookmarkStart in document.Bookmarks.BookmarksStart)
{
if (section.Document.Pages.IndexOf(bookmarkStart.GetPage()) == pageIndex)
{
string bookmarkName = bookmarkStart.Name;
// TODO: 处理该书签
}
}
```
代码中,我们遍历了文档中的所有 BookmarkStart 对象,通过 BookmarkStart 的 GetPage() 方法来判断该书签所在的页码是否与目标页码相等,如果是,则获取该书签的名称。你可以根据需要对获取到的书签名称进行处理。
相关问题
document.Bookmarks里没有BookmarksStart
非常抱歉,我的回答有误。确实在 Spire.Doc 的 Document 类中没有 BookmarksStart 属性。你可以采用以下方式来获取某页码上所有书签:
```csharp
using Spire.Doc;
using Spire.Doc.Documents;
// 假设你已经加载了文档并获取了某个页码的 Section 对象
Section section = document.Sections[0];
int pageIndex = 2;
foreach (BookmarkStart bookmarkStart in document.Bookmarks)
{
if (section.Document.Pages.IndexOf(bookmarkStart.GetPage()) == pageIndex)
{
string bookmarkName = bookmarkStart.Name;
// TODO: 处理该书签
}
}
```
代码中,我们遍历了文档中的所有 BookmarkStart 对象,通过 BookmarkStart 的 GetPage() 方法来判断该书签所在的页码是否与目标页码相等,如果是,则获取该书签的名称。你可以根据需要对获取到的书签名称进行处理。
Spire.Doc 6.8版本没有CopyPageRange方法
非常抱歉,我之前给您的代码有误。Spire.Doc 6.8版本确实没有`CopyPageRange`方法。为了实现您的需求,您可以按照以下步骤进行操作:
1. 获取指定页码的内容。您可以使用`SectionCollection`类的`GetPage`方法来获取指定页码的内容,然后使用`Range`类的`Copy`方法将其复制到剪贴板中。
```csharp
// 获取指定页码的内容并复制到剪贴板
Document doc = new Document();
Section section = doc.Sections[0];
Range range = section.Body.GetPage(2);
range.Copy();
```
2. 获取指定书签的内容。您可以使用`BookmarkStart`和`BookmarkEnd`类的`GetBookmarkContent`方法获取指定书签的内容,然后使用`Range`类的`Copy`方法将其复制到剪贴板中。
```csharp
// 获取指定书签的内容并复制到剪贴板
Document doc = new Document();
BookmarkStart bookmarkStart = doc.Bookmarks["bookmark1"].BookmarkStart;
BookmarkEnd bookmarkEnd = doc.Bookmarks["bookmark1"].BookmarkEnd;
Range range = new Range(doc, bookmarkStart, bookmarkEnd);
range.Copy();
```
3. 在文档末尾粘贴剪贴板内容。您可以在文档末尾添加一个空段落,并使用`Range`类的`Paste`方法将剪贴板内容粘贴到其中。
```csharp
// 在文档末尾粘贴剪贴板内容
Document doc = new Document();
Section section = doc.Sections[doc.Sections.Count - 1];
Paragraph paragraph = section.AddParagraph();
paragraph.AppendText("\n"); // 添加一个空段落
Range range = new Range(doc);
range.Paste();
```
希望这次能够帮助到您,如果还有什么问题,请随时提出。
阅读全文