C# 删除Word文档中的OLE对象

 时间:2024-10-13 05:22:57

以下经验内容将分享在C#程序中如何删除Word文档中的OLE对象。

工具/原料

Spire.Doc for .NET pack

Visual Studio

dll文件获取及引用:

1、方法1:通过e-iceblueg官网下载pack包。下载后,解压文件,安装程序。安装后,将安装路径下Bin文件夹中的Spire.Doc.dll文件添加引用至vs程序。如下图:

C# 删除Word文档中的OLE对象

2、方法2:可通过Nuget下载,地址:http://www.nuget.org/packages/Spire.Doc/

C# 代码示例

1、using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using System.IO;nam髫潋啜缅espace DeleteOLE_Doc{ class Program { static void Main(string[] args) { //实例化一个Document对象,加载一个包含OLE对象的文档 Document doc = new Document(); doc.LoadFromFile(@"测试.docx"); //遍历文档所有Section foreach (Section sec in doc.Sections) { //遍历Section下面所有的子元素 foreach (DocumentObject obj in sec.Body.ChildObjects) { if (obj is Paragraph) { Paragraph par = obj as Paragraph; //遍历段落中的对象 for (int i = 0; i < par.ChildObjects.Count;i++ ) { DocumentObject o = par.ChildObjects[i]; //获取ole对象 if (o.DocumentObjectType == DocumentObjectType.OleObject) { DocOleObject Ole = o as DocOleObject; string s = Ole.ObjectType; if (s == "AcroExch.Document.11")//"AcroExch.Document.11"是指PDF对象对应的ProgID { //删除ole对象 obj.ChildObjects.Remove(Ole); } else if (s == "Excel.Sheet.12")//"Excel.Sheet.12"是指 Excel03之后的工作表对应的ProgID { //删除ole对象 obj.ChildObjects.Remove(Ole); } else if (s == "Word.Document.12") //"Word.Document.12"是指03之后的Word对应的ProgID { //删除ole对象 obj.ChildObjects.Remove(Ole); } } } } } } //保存文档 doc.SaveToFile("DeleteOLE.docx",FileFormat.Docx2013); System.Diagnostics.Process.Start("DeleteOLE.docx"); } }}

  • AutoCAD2014如何输入特殊字符
  • cad图形插入到word怎么调整大小
  • cad2022怎么改背景颜色?
  • 怎么样去掉WORD或EXCEL中的CAD截图的黑色背景?
  • 怎么把CAD转换成PDF格式,这个问题终于解决了
  • 热门搜索
    热浪岛旅游攻略 武夷山自助旅游攻略 大埔旅游景点大全 纳木错旅游攻略 旅游日语 重庆贝迪颐园温泉旅游度假酒店 疯狂旅游团小品高清 台湾旅游事故 阿坝旅游景点大全 丽江最佳旅游时间