Aspose.Words删除包含书签

时间:2016-12-06 17:22:49

标签: aspose.words

我有一个非常基本的帮助方法来设置书签的文字。

public static Bookmark SetBookmark(this Document doc, string bookmarkName, string value)
{
        var bm = doc.Range.Bookmarks[bookmarkName];
        if(bm == null)
            throw new NullReferenceException(string.Format("Bookmark {0} Not Found!", bookmarkName));
        bm.Text = value ?? string.Empty;
        return bm;
}

我需要的是删除书签,并在满足特定条件时删除包含它的删除文本行,例如:何时value == null。有什么建议吗?

示例文档如下:
你好
[书签]
再见

删除后的原始文件:
你好
再见

2 个答案:

答案 0 :(得分:0)

请将Bookmark.Text属性的值设置为空字符串以删除其内容,并使用Bookmark.Remove方法从文档中删除书签。 Bookmark.Remove方法不会删除书签中的文本。

我与Aspose一起担任开发人员传播者。

答案 1 :(得分:0)

请将Bookmark.Text属性的值设置为空字符串以删除其内容,如下面的代码示例所示。我已经在之前的回答中分享了这一点。

Document doc = new Document(MyDir + "Bookmark.doc");

// Use the indexer of the Bookmarks collection to obtain the desired bookmark.
Bookmark bookmark = doc.Range.Bookmarks["MyBookmark"];

// Remove the contents of bookmark.
bookmark.Text = "";

doc.Save(MyDir + @"Out.docx");

我与Aspose一起担任开发人员传播者。