(An translated English version of this article is provided here.)
安装完 Office 2003 之后,你会发现“打印对话框”中的打印机列表多了一个“Microsoft Office Document Image Writer”的打印机,如果选中此项来打印的话,你会得到一个扩展名为 MDI 的文件。
这个虚拟打印机本来用处是不大的,也很少有文章介绍它。但以下介绍一个很好的 Microsoft Office Document Image Writer 虚拟打印功能的应用场景:
(1) 我们可以通过 Microsoft Office Document Image Writer 将 Word,Excel,PowerPoint,记事本,Internet Explorer 等浏览器,Photoshop,Outlook Express 中的 Email ……各种可以打印输出的文件,打印输出为 MDI 这一通用格式,用于存档。
(2) Office 2003 中提供的 Microsoft Office Document Imaging 功能,同时提供了编程接口,可以很方便的从 MDI 文件中提取其中包含的文本,图片等内容,通过相应的索引模块,可以很方便的为不同格式的文档建立索引。
(3) Office 2003 同时提供了可以查看 MDI 文件内容的 ActiveX 控件,我们可以把该控件放置到我们的 Windows Forms 中,用于查看 MDI 文件的内容。
这样,一个通用性很高的文档管理系统就很容易创建出来了。
也许你安装有 Adobe Acrobat 系列的软件(注意此处不包括 Adobe Acrobat Reader)的话,你会知道你的打印机列表中也是有一个可以打印 PDF 格式的虚拟打印机(而 Acrobat Reader 只能读 PDF,不能写)。这里,Microsoft Office Document Image Writer 的作用大致和 Adobe Acrobat 的虚拟打印机类似。
通过 PDF 这一通用格式,我们也可以实现上面 MDI 实现的功能。但 MDI 的优势是明显的:
Office 2003 已经是很多客户已经购买或者计划购买中的软件,为实现文档管理功能而另外购买 Acrobat 的 licences 显然要额外花费很多成本。
(当然还有个因素,大多数人都相信,微软自己的东西兼容性要相对好一些。)
2008/3补充:如果有 Office 2007,或者安装 .NET Framework 3.5 之后,会有新的 XPS 虚拟打印机,XPS 完全可以替代 MDI,并且比 MDI 更先进,可以直接嵌入到 WPF 界面中。
打印 | 张贴于 2004-11-09 19:33:00 | Tag:暂无标签
留言反馈
那位大虾知道,请告诉我,多谢了。
我的Email:xiayongquan@sina.com
主要是编程接口 的扩展技术不知怎么来实现.
不知哪位有没有这方面的资料,或者提供一下技术实现的想法!
先谢了!
用好了什么都是有意义的
默认安装是有的,除非你特意去掉了那一项。
我并不是说碧海青天.net发生了什么大事,那也从来没有过大事。整个碧海青天都是病态的,大多数人都在那无病呻吟。真正搞技术的人不会去那的。希望能和你交个朋友。but我不是高手,呵呵。
这个功能我早就开始用了,一直想写一篇文章,今天在这里发现了,挺好,我就可以偷一下懒了。看到你在碧海青天.net版的发言,很同情你。你不要理会论坛上的那些人,很无聊的。有些只是看热闹罢了。
呵呵,这个我是明白的,只是就其一个功能说一下而已:)
也许介个素ms做的希望和pdf竞争的咚咚?
你可以再仔细想象一下:它是一个通用的格式,可以将不同格式的文档以相同的规格,存储、索引、查询、呈现。
你或许可以从 DOC, XLS, PPT, 等不同文件中提取出文本,并为它们分别创建查看窗口。
但你真的有工夫为所有已知和未知的文件格式,都做一个文本提取器和内容查看窗口吗?
想象一下,不要拘泥于现有的定势。
通过打印得到的 MDI,原来是文本的部分都可以重新提取出来。如果本来就不是文本(比如图片中的文字),那当然也得不到文本。
但 Microsoft Document Imaging 还包含一个 OCR 功能(默认安装中没有安装,第一次使用时会提示你安装),可以把你扫描得来的图片文字,尝试转换成文本。OCR 模块有一部分功能使用的是清华紫光的产品。
关于修改:MDI 文件可以添加注释、批注,还有“荧光笔”可以涂画,很类似于实际打印出来的东西。不妨拿它给领导签名?
to leelee:
显然我介绍这一功能并不是为了 PDF 转换到 MDI,这似乎意义不大。
主要是通过 MDI 这个通用格式把各种需要存档的文件统一管理起来。
这种需求在某些企业或组织中,可能会有很好的应用。
如果只保存MDI文件以后想修改怎么办?
你今天一说,我茅塞顿开,的确有很多商机:)利用这个原理,可以做一些资料保存系统,再做一个索引机制,完全可以比市面上的现有产品好多了:)