获取Word文档的作者和主题

   当然要先添加对Word的组件的引用,添加命名空间的引用,代码:

  Word.Application oWord;

  Word._Document oDoc;

  object oMissing = Missing.Value;

  object docBuiltInProps;

  object Source = @"DocPath";

  object Unknown =Type.Missing;

  oWord = new Word.Application();

  try

  {

  oDoc = oWord.Documents.Open(ref Source,ref Unknown,

  ref Unknown,ref Unknown,ref Unknown,

  ref Unknown,ref Unknown,ref Unknown,

  ref Unknown,ref Unknown,ref Unknown,

  ref Unknown );

  docBuiltInProps = oDoc.BuiltInDocumentProperties;

  Type typeDocBuiltInProps = docBuiltInProps.GetType();

  //获取作者

  string index = "Author";

  string propsValue;

  object docAuthor = typeDocBuiltInProps.InvokeMember("Item",

  BindingFlags.Default |

  BindingFlags.GetProperty,

  null,docBuiltInProps,

  new object[] {index} );

  Type typeDocAuthorProp = docAuthor.GetType();

  propsValue = typeDocAuthorProp.InvokeMember("Value",

  BindingFlags.Default |

  BindingFlags.GetProperty,

  null,docAuthor,

  new object[] {} ).ToString();

  MessageBox.Show( propsValue,"Author" );

  //获取主题

  index = "Subject";

  propsValue = "The Subject";

  object docSubjectProp = typeDocBuiltInProps.InvokeMember("Item",

  BindingFlags.Default |

  BindingFlags.GetProperty,

  null,docBuiltInProps,

  new object[] {index} );

  Type typeDocSubjectProp = docSubjectProp.GetType();

  propsValue = typeDocSubjectProp.InvokeMember("Value",

  BindingFlags.Default |BindingFlags.GetProperty,

  null,docSubjectProp,

  new object[] {} ).ToString();

  MessageBox.Show( propsValue,"Subject" );

  }

  finally

  {

  //关闭word进程

  object save = false;

  oWord.Quit(ref save,ref Unknown,ref Unknown);

  System.Runtime.InteropServices.Marshal.ReleaseComObject(oWord);

  }

时间: 2024-09-12 12:09:37

获取Word文档的作者和主题的相关文章

我用WPS新建word文档,作者是我电脑的名字hufk,为什么随便编辑一下,就变成了zhaoxinlei?

问题描述 我用WPS新建word文档,作者是我电脑的名字hufk,为什么随便编辑一下,就变成了zhaoxinlei? 我用WPS新建word文档,作者是我电脑的名字hufk,为什么随便编辑一下,就变成了zhaoxinlei?会不会是电脑被写入木马了? 解决方案 有可能,你看你有没有可能不小心自己弄到,或者之前有设置 解决方案二: 你是怎么随便编辑的?...

java 如何精确获取word文档页数?有什么API吗?

问题描述 java 如何精确获取word文档页数?有什么API吗? java 通过poi是通过摘要获取word的页数,不准确. 请问还有什么其他的方法可以精确的获取word总页数吗? 有什么API吗? 项目运行在linux系统上 解决方案 没有办法,因为word文档页数是通过渲染整个word文档才能确定的.除非你发送到虚拟打印机,并且返回打印的页数,才能知道.

java和javascript获取word文档的书签位置对比_javascript技巧

1.javascript:把IE浏览器的activex都打开,使用如下网页,可以看到书签顺序和位置: <html> <head> <script> var word; word = new ActiveXObject("Word.Application"); var range = word.Range; word.Visible = true; var path = "D:\\xxx\\xxx\\xx.doc"; word.Do

如何快速获取Word文档中的图片资源

大家都应该经常使用Word.Excel.PowerPoint等微软Office软件,如果要保存这些Office文档里面的图片,我们一般是可以在Word.Excel 中右键点击图片,然后保存图片,但是当图片太多时怎么办? 难道-一张一张点-- 显然,你的智商提醒你不会那么做,21世纪绝对不用这种19世纪的做法! 下面介绍个诡异的方法教你只提取这些Office文档中图片的方法,很简单! 什么?你连Office都没有安装?? 没关系,照样搞! 前提,你的Word文档是 .docx 这种结尾的就可以,就

C# 如何获取word文档的属性里面的备注的内容

问题描述 大家还是看图吧就是想获取备注的内容我想不出办法了. 解决方案

php生成word文档

利用php生成word文档,生成的word文件可以用word,wps等软件打开.具体代码如下: function word($data,$fileName=""){ if(empty($data)) return ""; $data="<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:off

PHP创建word文档的方法(平台无关)_php技巧

本文实例讲述了PHP创建word文档的方法.分享给大家供大家参考,具体如下: 关于用PHP生成word,在网上找了很多资料,有调用COM组件生成的,有安装PHP扩展生成的.都不免麻烦,以下为比较简洁的一种方法,且可跨平台. 以下为详细代码: class.word.php <?php class Word{ function start(){ ob_start(); //打开输出控制缓冲 echo '<html xmlns:o="urn:schemas-microsoft-com:of

PHP生成word文档的三种实现方式_php实例

最近工作遇到关于生成word的问题 现在总结一下生成word的三种方法. btw:好像只要是标题带PHP的貌似点击量都不是很高(哥哥我标题还是带上PHP了),不知道为什么,估计博客园上net技术大牛比较多吧,如果把java,.net,php比作程序员的女友,那么java是Oracle门下的大家闺秀,.net微软旗下的名门望族,PHP则是草根门下的山村野姑,这让我等PHP草民闷骚男情何以堪情何以堪..牢骚发完了,正式写吧 PHP生成word原理 利用windows下面的 com组件 利用PHP将内

PHP中将网页导出为Word文档的代码_php实例

一般,有2种方法可以导出doc文档,一种是使用com,并且作为php的一个扩展库安装到服务器上,然后创建一个com,调用它的方法.安装过office的服务器可以调用一个叫word.application的com,可以生成word文档,不过这种方式我不推荐,因为执行效率比较低(我测试了一下,在执行代码的时候,服务器会真的去打开一个word客户端).理想的com应该是没有界面的,在后台进行数据转换,这样效果会比较好,但是这些扩展一般需要收费. 第2种方法,就是用PHP将我们的doc文档内容直接写入一