• <menu id="w2i4a"></menu>
  • logo Aspose中文文檔

    文檔首頁>>Aspose中文文檔>>刪除所有或特定作者的評(píng)論

    刪除所有或特定作者的評(píng)論


    Aspose.Words是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。

    Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。

    Aspose.Words for .NET 最新下載

    使用Aspose.Words

    以下代碼示例展示了如何刪除文檔中的所有注釋:


    // For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
    static void RemoveComments(Document doc)
    {
    // Collect all comments in the document
    NodeCollection comments = doc.GetChildNodes(NodeType.Comment, true);
    // Remove all comments.
    comments.Clear();
    }

    點(diǎn)擊復(fù)制


    以下代碼示例展示了如何刪除特定作者的評(píng)論:


    // For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
    static void RemoveComments(Document doc, string authorName)
    {
    // Collect all comments in the document
    NodeCollection comments = doc.GetChildNodes(NodeType.Comment, true);
    // Look through all comments and remove those written by the authorName author.
    for (int i = comments.Count - 1; i >= 0; i--)
    {
    Comment comment = (Comment)comments[i];
    if (comment.Author == authorName)
    comment.Remove();
    }
    }

    點(diǎn)擊復(fù)制


    使用 Open XML SDK

    需要添加的命名空間:


    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using DocumentFormat.OpenXml.Packaging;
    using DocumentFormat.OpenXml.Wordprocessing;
    using NUnit.Framework;

    點(diǎn)擊復(fù)制


    以下代碼示例展示了如何刪除文檔中的注釋:

    public void DeleteCommentsByAllOrASpecificAuthorFeature()
    {
    RemoveComments("");
    }
    private void RemoveComments(string author)
    {
    // Get an existing Wordprocessing document.
    using (WordprocessingDocument document =
    WordprocessingDocument.Open(MyDir + "Comments.docx", true))
    {
    WordprocessingCommentsPart commentPart =
    document.MainDocumentPart.WordprocessingCommentsPart;
    // If no "WordprocessingCommentsPart" exists, there can be no comments.
    // Stop execution and return from the method.
    if (commentPart == null)
    return;
    // Create a list of comments by the specified author.
    // If the author name is empty, then list all authors.
    List<Comment> commentsToDelete =
    commentPart.Comments.Elements<Comment>().ToList();
    if (!String.IsNullOrEmpty(author))
    {
    commentsToDelete = commentsToDelete.Where(c => c.Author == author).ToList();
    }
    IEnumerable<string> commentIds =
    commentsToDelete.Select(r => r.Id.Value);
    foreach (Comment c in commentsToDelete)
    c.Remove();
    // Save changes to the comments part.
    commentPart.Comments.Save();
    Document doc = document.MainDocumentPart.Document;
    // Delete the "CommentRangeStart" for each deleted comment in the main document.
    List<CommentRangeStart> commentRangeStartToDelete =
    doc.Descendants<CommentRangeStart>().Where(c => commentIds.Contains(c.Id.Value)).ToList();
    foreach (CommentRangeStart c in commentRangeStartToDelete)
    c.Remove();
    // Delete the "CommentRangeEnd" for each deleted comment in the main document.
    List<CommentRangeEnd> commentRangeEndToDelete =
    doc.Descendants<CommentRangeEnd>().Where(c => commentIds.Contains(c.Id.Value)).ToList();
    foreach (CommentRangeEnd c in commentRangeEndToDelete)
    c.Remove();
    // Delete the "CommentReference" for each deleted comment in the main document.
    List<CommentReference> commentRangeReferenceToDelete =
    doc.Descendants<CommentReference>().Where(c => commentIds.Contains(c.Id.Value)).ToList();
    foreach (CommentReference c in commentRangeReferenceToDelete)
    c.Remove();
    using (Stream stream = File.Open(ArtifactsDir + "Remove comments - OpenXML.docx", FileMode.CreateNew))
    {
    doc.Save(stream);
    }
    }
    }

    點(diǎn)擊復(fù)制

    您可以從Aspose.Words GitHub 下載此示例的示例文件。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();