代码改变世界

C#下搭建文件格式转换服务器

2014-07-03 15:35  y-z-f  阅读(3726)  评论(19编辑  收藏  举报

文件格式转换,相信很多涉及到office文档在线观看的都会需要,因为浏览器还不能完全支持直接打开office文档,所以很多情况下我们都需要将这些文档转换成flash能够播放的格式,但是另一个问题又来了,有些设备是不支持flash。而笔者经过三个版本的测试,终于有了比较好的一中解决方案。第一种很多人都知道,就是flashpaper但是不幸的是这款软件已经很老了,第二种就是利用office的com,但是缺点非常明显,需要很多代码才能完成很简单的事,并且还要经过很多配置,这其中的痛苦不言而喻。而第三种就是利用openoffice和jodconverter来完成。

 

一、需要的软件

因为jodconverter是java编写的所以笔者已经将其转换成了c#类库,避免了大家在这方面花费很多事件,而且也没有意义。

1.openoffice软件(http://www.openoffice.org/download/index.html) 直接默认安装即可

2.我封装好的类库(https://files.cnblogs.com/yaozhenfa/jodconverter.net.rar

 

二、启动openoffice

笔者的openoffice安装到了C:\Program Files (x86)\ 所以需要在DOS(开始-)运行-》CMD)输入如下的指令:

1 C:\>"C:/Program Files (x86)/OpenOffice 4/program/soffice.exe" -accept=socket,hos
2 t=0.0.0.0,port=8080;urp;-headless

 

其中host表示监听的ip地址,port表示端口。笔者这里设置的是8080

 

三、测试

我们在vs中新建一个控制台项目,然后将笔者封装好的类库全部引用。

 

接着写入如下代码:

 1 using com.artofsolving.jodconverter;
 2 using com.artofsolving.jodconverter.openoffice.connection;
 3 using com.artofsolving.jodconverter.openoffice.converter;
 4 using java.io;
 5 using System;
 6 using System.Collections.Generic;
 7 using System.Linq;
 8 using System.Text;
 9 
10 namespace ConsoleApplication1
11 {
12     class Program
13     {
14         static void Main(string[] args)
15         {
16             File inputFile = new File("c://test.doc");
17             File outputFile = new File("c://test.pdf");
18             OpenOfficeConnection connection = new SocketOpenOfficeConnection(8080);
19             connection.connect();
20             DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
21             converter.convert(inputFile, outputFile);
22             connection.disconnect();
23             System.Console.ReadKey();
24         }
25     }
26 }

 

 

这里要注意笔者测试的文件在c盘下并且命名为test.doc读者需要根据自己的情况修改,笔者这里将doc转换成了pdf,当然还可以转换成html等等。

 

相信不久的以后你会需要这个解决方案。

 

关于java转c#可以到该网站中下载(http://www.ikvm.net/

 

四、参考

感谢以下博文提供的技术:

http://blog.csdn.net/hnzhangshilong/article/details/7799664(c#调用java类的方法)

http://blog.csdn.net/oldjavaman/article/details/1742666(构建文件格式转换服务器)

http://www.cnblogs.com/shanyou/archive/2007/09/11/890139.html(将OpenOffice.org变成一个文件格式转换工具)

 

希望喜欢的读者可以支持,这样笔者才能去寻找更好的解决方案。有任何问题可以在评论中询问。