文档彩票走势图>>Aspose中文文档>>从文档中删除隐藏文本
从文档中删除隐藏文本
Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
使用Aspose.Words
在 Aspose.Words 中,使用ParagraphBreakFont和Hidden属性查找所有隐藏文本。
以下代码示例演示如何从 Word 文档中删除隐藏文本:
Document doc = new Document(MyDir + "Remove hidden text.docx"); foreach (Paragraph par in doc.GetChildNodes(NodeType.Paragraph, true)) { par.ParagraphBreakFont.Hidden = false; foreach (Run run in par.GetChildNodes(NodeType.Run, true)) { if (run.Font.Hidden) run.Font.Hidden = false; } } doc.Save(ArtifactsDir + "Remove hidden text - Aspose.Words.docx");
点击复制
使用 Open XML SDK
需要添加的命名空间:
using System.IO; using System.Xml; using DocumentFormat.OpenXml.Packaging; using NUnit.Framework;
点击复制
以下代码示例演示如何从 Word 文档中删除隐藏文本:
public void RemoveHiddenTextFeature() { const string wordmlNamespace = "//schemas.openxmlformats.org/wordprocessingml/2006/main"; using (WordprocessingDocument wdDoc = WordprocessingDocument.Open(MyDir + "Remove hidden text.docx", true)) { // Manage namespaces to perform XPath queries. NameTable nt = new NameTable(); XmlNamespaceManager nsManager = new XmlNamespaceManager(nt); nsManager.AddNamespace("w", wordmlNamespace); // Get the document part from the package. // Load the XML in the document part into an XmlDocument instance. XmlDocument xdoc = new XmlDocument(nt); xdoc.Load(wdDoc.MainDocumentPart.GetStream()); XmlNodeList hiddenNodes = xdoc.SelectNodes("//w:vanish", nsManager); foreach (XmlNode hiddenNode in hiddenNodes) { XmlNode topNode = hiddenNode.ParentNode.ParentNode; XmlNode topParentNode = topNode.ParentNode; topParentNode.RemoveChild(topNode); if (!(topParentNode.HasChildNodes)) topParentNode.ParentNode.RemoveChild(topParentNode); } using (Stream stream = File.Create(ArtifactsDir + "Remove hidden text - OpenXML.docx")) { xdoc.Save(stream); } } }
点击复制