• <menu id="w2i4a"></menu>
  • logo Aspose.Words開發(fā)者指南

    文檔首頁>>Aspose.Words開發(fā)者指南>>Aspose.Words for .NET使用書簽教程——在Aspose.Words中插入和刪除書簽

    Aspose.Words for .NET使用書簽教程——在Aspose.Words中插入和刪除書簽


    Aspose.Words For .Net是一種高級Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無需在跨平臺應(yīng)用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。

    接下來我們將進入“使用書簽”的介紹,在Aspose.Words中插入和刪除書簽。

    >>Aspose.Words for .NET更新至最新版v19.10,歡迎下載體驗

    致改變世界的程序員——限時購買Aspose系列產(chǎn)品最高可享10000元高額減免!更多活動詳情可咨詢在線客服哦~


    Aspose.Words中的書簽

    借助Aspose.Words,可以在報告或文檔中使用書簽將一些數(shù)據(jù)插入書簽或?qū)ζ鋬?nèi)容應(yīng)用特殊格式。同時還可以使用書簽從文檔中的特定位置檢索文本。使用Aspose.Words使用書簽執(zhí)行的操作與使用Microsoft Word可以執(zhí)行的操作相同??梢圆迦胄聲灒瑒h除,移動到書簽,獲取或設(shè)置書簽名稱,獲取或設(shè)置其中包含的文本。

    ▲插入書簽

    使用DocumentBuilder.StartBookmark和DocumentBuilder.EndBookmark分別通過標記書簽的開始和結(jié)束來創(chuàng)建書簽。不要忘記將相同的書簽名稱傳遞給兩個方法。文檔中的書簽可以重疊并且可以跨越任何范圍。保存文檔時,格式不正確的書簽或名稱重復的書簽將被忽略。下面的示例將一些文本添加到文檔中,并將該文本括在書簽中。

    下面的示例演示如何創(chuàng)建新書簽。

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_WorkingWithBookmarks();
    
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    builder.StartBookmark("My Bookmark");
    builder.Writeln("Text inside a bookmark.");
    
    builder.StartBookmark("Nested Bookmark");
    builder.Writeln("Text inside a NestedBookmark.");
    builder.EndBookmark("Nested Bookmark");
    
    builder.Writeln("Text after Nested Bookmark.");
    builder.EndBookmark("My Bookmark");
    
    
    PdfSaveOptions options = new PdfSaveOptions();
    options.OutlineOptions.BookmarksOutlineLevels.Add("My Bookmark", 1);
    options.OutlineOptions.BookmarksOutlineLevels.Add("Nested Bookmark", 2);
    
    dataDir = dataDir + "Create.Bookmark_out.pdf";
    doc.Save(dataDir, options);

    ▲獲取書簽

    有時有必要獲取書簽集合以遍歷書簽或出于其他目的。使用任何文檔節(jié)點公開的Node.Range屬性,該屬性返回一個Range對象,該對象表示此節(jié)點中包含的文檔部分。使用此對象檢索BookmarkCollection,然后使用集合索引器獲取特定的書簽。

    下例顯示了如何從書簽集合中獲取書簽。

    // 文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_WorkingWithBookmarks();
    
    Document doc = new Document(dataDir + "Bookmarks.doc");
    
    //按索引。
    Bookmark bookmark1 = doc.Range.Bookmarks[0];
               
    //按名稱。
    Bookmark bookmark2 = doc.Range.Bookmarks["Bookmark2"];

    下面的示例顯示如何獲取或設(shè)置書簽名稱和文本。

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_WorkingWithBookmarks();
    
    Document doc = new Document(dataDir + "Bookmark.doc");
    
    //使用Bookmarks集合的索引器獲取所需的書簽。
    Bookmark bookmark = doc.Range.Bookmarks["MyBookmark"];
    
    //獲取書簽的名稱和文本。
    string name = bookmark.Name;
    string text = bookmark.Text;
    
    //設(shè)置書簽的名稱和文本。
    bookmark.Name = "RenamedBookmark";
    bookmark.Text = "This is a new bookmarked text.";

    下例顯示了如何為表格添加書簽。

    //文檔目錄的路徑。
    string dataDir = RunExamples.GetDataDir_WorkingWithBookmarks();
                
    //創(chuàng)建空文件
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    Table table = builder.StartTable();
    
    //插入一個單元格
    builder.InsertCell();
    
    //調(diào)用InsertCell之后在此處開始書簽
    builder.StartBookmark("MyBookmark");
    
    builder.Write("This is row 1 cell 1");
    
    //插入一個單元格
    builder.InsertCell();
    builder.Write("This is row 1 cell 2");
    
    builder.EndRow();
    
    //插入一個單元格
    builder.InsertCell();
    builder.Writeln("This is row 2 cell 1");
    
    //插入一個單元格
    builder.InsertCell();
    builder.Writeln("This is row 2 cell 2");
    
    builder.EndRow();
    
    builder.EndTable();
    // 書簽結(jié)尾
    builder.EndBookmark("MyBookmark");
    
    dataDir = dataDir + "Bookmark.Table_out.doc";
    doc.Save(dataDir);

    ▲在塊、單元、行級別上使用書簽

    書簽節(jié)點被允許放置在塊,單元和行級別上。在加載或保存DOCX,DOC,WML文檔時,Aspose.Words會在文檔節(jié)點結(jié)構(gòu)中保留書簽位置。您可以通過使用LoadOptions類的AnnotationsAtBlockLevel和AnnotationsAtBlockLevelAsDefault屬性來控制此行為。 如果要以嵌入式書簽?zāi)J酱蜷_文檔,請將LoadOptions.AnnotationsAtBlockLevel屬性的值設(shè)置為false。通過將LoadOptions.AnnotationsAtBlockLevelAsDefault的值設(shè)置為false,可以使此行為成為默認行為。

    下面的示例顯示了如何在塊級別插入書簽。

    LoadOptions options = new LoadOptions();
    options.AnnotationsAtBlockLevel = true;
    Document doc = new Document(dataDir + "AnnotationsAtBlockLevel.docx", options);
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    StructuredDocumentTag sdt = (StructuredDocumentTag)doc.GetChildNodes(NodeType.StructuredDocumentTag, true)[0];
    
    BookmarkStart start = builder.StartBookmark("bm");
    BookmarkEnd end = builder.EndBookmark("bm");
    
    sdt.ParentNode.InsertBefore(start, sdt);
    sdt.ParentNode.InsertAfter(end, sdt);
    
    //將文檔保存到DOCX
    doc.Save(dataDir + "AnnotationsAtBlockLevel_out.docx", SaveFormat.Docx);

    ASPOSE技術(shù)交流QQ群(642018183)已開通,各類資源及時分享,歡迎交流討論!

    如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~

    q4HAjUm_extraLarge.png


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();