将word文档转化为其他格式

以前看到google能搜索office文档,心里想,对于google来说,其中的难点在于doc到文本格式的转化,这是是怎么完成的呢?

其实这一步在Office提供的COM 中就可以解决了.以C#为例,我们来看看如何将word文档转化为其他的各种格式.

首先,我们需要添加引用(Solution Explorer中右击选择Add Reference… ),选择COM中的Microsoft Word 11.0 Object Library。

然后,添加代码:

[coolcode lang=”java”]
object objFileName = ((object)”sampleWordFile.doc”);
Word.Application Word_App = null;
Word.Document Word_doc = null;
Word_App = new Word.Application();
Word_doc = new Word.Document();
Word.Documents Docs = Word_App.Documents;
Word_App.Visible = false;
//Open File
Word_doc = Docs.Open(ref objFileName, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,ref missing,
ref missing, ref missing, ref missing);
object format = null;
object tempfile = null;

format = Word.WdSaveFormat.wdFormatText;
tempfile = “c:/temp.txt”;
Word_App.ActiveDocument.SaveAs(ref tempfile, ref format, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing);
Word_doc.Close(ref missing, ref missing, ref missing);
[/coolcode]

这样就将 sampleWordFile.doc转化为c:/temp.txt。同样的,我们可以设置
[coolcode lang=”java”]
format = Word.WdSaveFormat.wdFormatRTF;
[/coolcode]
这样,可以转化为rtf格式,甚至是html、xml格式,等等。
word.jpg

BTW,CoolCode 没有专门的CSharp语法,所以只能用java代用了,效果还不错。两者语法真的好像,汗……

7 thoughts on “将word文档转化为其他格式”

  1. 对不起,我不是学计算机的。我想求救:我的一篇文档突然丢失了,我通过一个恢复软件恢复了它,但却变成了temp文件,我本是用word存的,先在用word打开是乱码,用记事本打开也乱乱的,我该怎么办呢?盼高手指点呵……

  2. 不知道你是怎么搜到的,你的情况我觉得有点严重.不过你至少需要提供什么恢复软件.word的确会在你编辑文档的时候自动保存一些临时文件,不知道你恢复的是不是有些临时文件.附:在你找到那个文件前,请不要向相应的分区中写入数据,防止被覆盖.祝你好运

  3. 你好,liuwenmao(先生)?我下载Active_Undelete-Demo-Full 这个软件恢复的。但我不能读,是西欧码。具体详情是:我是在移动硬盘中编辑那份文档的(是论文,10多万字,较大),编辑途中没发生任何不正常。晚上我困了,就正常退出文档也正常地移出了U盘。可是,第二天早上打开电脑插进U盘,我的那部论文连标题也不存在了,它全然消失!我傻了呢,然后下载文件恢复软件恢复U盘的丢掉的东西,我的论文是恢复了(虽然文档标题变成了temp文件,我的原标题不存在了,但从文件的大小和最后修改的日期我可以断定是我想恢复的文档)另提供一个信息,我的U盘和我的电脑的格式不一样,U盘是fat。落后于电脑,但我想不至于我用了这么久都没问题而突然就有问题了吧?我猜我的盘已有问题了。唉……心疼啊……我现在正艰难地回忆前几天的内容呢(幸亏前几天我另存过一份在“我的文档”里)。给你添麻烦了!实在抱歉。不知你问我怎么搜到的?是指你的网页否?我用google搜的。如果给你带去了不便请多包涵。打搅啦 随送春安:)

  4. 这种情况很难讲,Windows将数据写入移动硬盘并不是马上进行的,而是先写到缓冲区中,当数据满之后才写入移动硬盘.如果你在移除移动硬盘之前没有正确卸载的话,很可能数据没有写入到U盘中.具体使用哪一种分区格式并不重要.Active_Undelete-Demo-Full 这个软件我没有用过.你可以使用EasyRecovery、FinalData这样的软件,它们的口碑不错。但是恢复文件本来就是一件很困难的事情.如果你原来的文件被新写的数据覆盖的话,那就完全不可能恢复了.当然不排除你U盘本身存在问题,可以使用chksdk检查一下。另外建议你写文档的时候,先复制到本地磁盘,编辑始终在本地进行,这样的话还可以使用word的自动恢复功能。也不会存在丢失的问题。祝你好运

  5. 非常感谢你的关心。我已下载EasyRecovery,我喜欢这个软件呢,它比我的那个软件更好。只是,对我这个问题,它同样无能为力,是乱码。没关系,我下次会小心些。再次感激你的热情。再联络。祈安:)michiko 呈

Leave a Reply to liuwenmao Cancel reply

Your email address will not be published. Required fields are marked *