【问题标题】:C# or CMD: Remove Word file metadataC# 或 CMD:删除 Word 文件元数据
【发布时间】:2010-11-18 15:03:43
【问题描述】:

有没有办法使用 C# 或 Windows 批处理命令以编程方式删除 MS Word 文件或图像文件的元数据信息?

手动删除这些信息的方法是右键单击 Windows 资源管理器中的文件并选择“属性”>“详细信息”>“删除属性和个人信息”。

【问题讨论】:

    标签: c# image ms-word metadata exif


    【解决方案1】:

    这并不容易,至少没有得到全部。

    您可以查看 Litera(以前称为 Softwise)名为 Metadact 的元数据删除包。

    市场上还有其他几个。

    如果你想自己做,首先,你需要决定你认为什么是“元数据”。

    使用 Word 对象模型(来自 C# 或 VB 的互操作)非常容易上手。

    有些无法通过 Word 访问,因此您需要使用结构化存储 API 来访问它(如最后 10 位作者)。

    如果您谈论的是 DOCX 文件,您可以使用 OpenXML SDK 来获取文件中的所有包。然后使用 XML 导航并编辑掉您不想要的位。

    不过,如果采用这种方式,删除文档内容中的“元数据”会困难得多,因为您必须处理诸如 RUN 之类的内部 Word 结构,并更改跟踪内容。

    【讨论】:

    • 感谢您的帮助!我想我找到了一篇关于我的问题的有趣文章(见下文)。
    【解决方案2】:

    谢谢! 我想我找到了将元信息删除(或添加)到办公文档的方法。这里有一篇微软文章:The Dsofile.dll files lets you edit Office document properties when you do not have Office installed (KB 224351)

    Dsofile.dll 示例文件是一个进程内 ActiveX 组件,用于 使用 Microsoft Visual Basic .NET 或 Microsoft .NET 的程序员 框架。您可以在自定义应用程序中使用它来阅读和 编辑与 Microsoft 关联的 OLE 文档属性 Office 文件,例如:

    • Microsoft Excel 工作簿
    • Microsoft PowerPoint 演示文稿
    • Microsoft Word 文档 Microsoft
    • Project 项目 Microsoft Visio 绘图
    • 以 OLE 结构化存储格式保存的其他文件

    Dsofile.dll 示例文件是 用 Microsoft Visual C++ 编写。 Dsofile.dll 示例文件 演示如何使用 OLE32 IPropertyStorage 接口访问 OLE 结构化存储文件的扩展属性。组件 将数据转换为自动化友好的数据类型,以便于使用 高级编程语言,例如 Visual Basic 6.0、Visual 基本的 .NET 和 C#。 Dsofile.dll 示例文件提供了完整的 源代码并包括用 Visual Basic 6.0 编写的示例客户端 和 Visual Basic .NET 2003 (7.1)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      相关资源
      最近更新 更多