您如何从Word文档中获取主题和标题(不打开它)?

Bla*_*ght 3 c# ms-word ms-office

我想从Word文档中读取标题和主题字段,但是宁愿没有启动Word的开销。

如果在Windows资源管理器中显示标题和主题列,然后导航到其中包含Word文档的文件夹,则会显示此信息。使用什么机制来执行此操作(除了Shell扩展之外),因为它的速度很快(但是我不知道您是否真的需要安装Word才能运行此功能),所以我猜测它不会启动Word并打开每个文档。

我已经找到了我可以使用的Dsofile.dll链接,但这对.doc和.docx文件有用吗,这是唯一的方法吗?

Bla*_*ght 5

嗯...可能已经假设“ .doc”文件的时间过去了,这是一种从“ .docx”文件(或“ .xlsx”文件)获取主题和标题的方法。

using System;
using System.IO;
using System.IO.Packaging; // Assembly WindowsBase.dll

namespace ConsoleApplication16
{
  class Program
  {
     static void Main(string[] args)
     {
        String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
        String file = Path.Combine(path, "Doc1.docx");

        Package docx = Package.Open(file, FileMode.Open, FileAccess.Read);
        String subject = docx.PackageProperties.Subject;
        String title = docx.PackageProperties.Title;
        docx.Close();
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望这对某人有用。