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

一、需要的软件

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

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

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

二、启动openoffice

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

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

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

三、测试

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

接着写入如下代码:

 using com.artofsolving.jodconverter;
using com.artofsolving.jodconverter.openoffice.connection;
using com.artofsolving.jodconverter.openoffice.converter;
using java.io;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
File inputFile = new File("c://test.doc");
File outputFile = new File("c://test.pdf");
OpenOfficeConnection connection = new SocketOpenOfficeConnection();
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
connection.disconnect();
System.Console.ReadKey();
}
}
}

这里要注意笔者测试的文件在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变成一个文件格式转换工具)

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

C#下搭建文件格式转换服务器的更多相关文章

  1. Centos下搭建DNS域名解析服务器

    Centos下搭建DNS域名解析服务器 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...

  2. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  3. CentOS 7下搭建配置SVN服务器

    CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...

  4. Windows下搭建本地SVN服务器【转】

    转自:http://www.linuxidc.com/Linux/2015-01/111563.htm 本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本S ...

  5. Windows下搭建Nginx图片服务器

    在项目最开始,上传图片的时候,服务器先保存原图再使用ImageMagick生成上传图片缩略图,这种方法有很多缺点,例如生成的缩略图的大小是固定的,不能动态请求指定大小的缩略图. 虽然有非常多的图片云存 ...

  6. 开源代码Window下搭建rtmp流媒体服务器

    合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综合:有这样需求,将摄像头 ...

  7. cent os下搭建简单的服务器

    作为常和网络打交道的程序员,经常会遇到需要服务器的场合,比如搭建一个web服务器,一个代理服务器,又或者一个小型的游戏服务器. 我时常和朋友一起玩一款叫我的世界的游戏,为了能够长期稳定地联机玩,所以特 ...

  8. Centos下搭建 tomcat https服务器详解(原创)

    一 .安装java jdk配置环境变量 1. 卸载原有openjdk yum -y remove java-1.7.0-openjdk* yum -y remove tzdata-java.noarc ...

  9. Windows下搭建HTTP/HTTPS服务器及测试过程

    1 安装Apache http://www.apachehaus.com/cgi-bin/download.plx 选择合适的版本下载 本次下载的是 Apache 2.4.x VC14 Apache版 ...

随机推荐

  1. PHP时间日期

    PHP常用的几个时间日期函数有:date(),mktime(),strtotime(); 一.string date ( string $format [, int $timestamp ] ) 函数 ...

  2. 2.擦除开发板iNand中的uboot的方法

    (1)在linux和android系统下,擦除uboot的方法:       busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 c ...

  3. regular expressions

  4. form 编译命令

    11i: Form:f60gen $AU_TOP/forms/ZHT/GLXJEENT.fmb userid=apps/tpsadbm output_file=$GL_TOP/forms/ZHT/GL ...

  5. 主机名链接数据库,无法生成 SSPI 上下文

    两台Server,环境一样,都使用同一域账号. 1的SQL Server可以通过Windows认证连接到2,但2通过Windows认证连接1时报如下错误: 目标主体名称不正确,无法生成 SSPI 上下 ...

  6. javascript-test1

    var AAA = function(name, age) { this.name = name ; this.age = age; } AAA.prototype.getName = functio ...

  7. 通过反射向将EF的实体映射配置加入到实体模型中

    public AdminDbContext() : base("MemberDbContext") { //不使用代理创建导航属性,避免WCF序列化错误 Configuration ...

  8. Bridge(桥接)-对象结构型模式

    1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化. 2.动机 在抽象类与它的实现之间起到桥梁作用,使它们可以独立地变化. 3.适用性 不希望在抽象和它的实现部分之间有一个固定的绑定关系. ...

  9. 《机器学习实战》学习笔记——第2章 KNN

    一. KNN原理: 1. 有监督的学习 根据已知事例及其类标,对新的实例按照离他最近的K的邻居中出现频率最高的类别进行分类.伪代码如下: 1)计算已知类别数据集中的点与当前点之间的距离 2)按照距离从 ...

  10. 初识ASP.NET CORE:二、优劣

    Which one is right for me? ASP.NET is a mature web platform that provides all the services that you ...