C#下搭建文件格式转换服务器
文件格式转换,相信很多涉及到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#下搭建文件格式转换服务器的更多相关文章
- Centos下搭建DNS域名解析服务器
Centos下搭建DNS域名解析服务器 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...
- linux下搭建svn本地服务器
在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local # svnadmin create led_diplay ...
- CentOS 7下搭建配置SVN服务器
CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...
- Windows下搭建本地SVN服务器【转】
转自:http://www.linuxidc.com/Linux/2015-01/111563.htm 本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本S ...
- Windows下搭建Nginx图片服务器
在项目最开始,上传图片的时候,服务器先保存原图再使用ImageMagick生成上传图片缩略图,这种方法有很多缺点,例如生成的缩略图的大小是固定的,不能动态请求指定大小的缩略图. 虽然有非常多的图片云存 ...
- 开源代码Window下搭建rtmp流媒体服务器
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综合:有这样需求,将摄像头 ...
- cent os下搭建简单的服务器
作为常和网络打交道的程序员,经常会遇到需要服务器的场合,比如搭建一个web服务器,一个代理服务器,又或者一个小型的游戏服务器. 我时常和朋友一起玩一款叫我的世界的游戏,为了能够长期稳定地联机玩,所以特 ...
- Centos下搭建 tomcat https服务器详解(原创)
一 .安装java jdk配置环境变量 1. 卸载原有openjdk yum -y remove java-1.7.0-openjdk* yum -y remove tzdata-java.noarc ...
- Windows下搭建HTTP/HTTPS服务器及测试过程
1 安装Apache http://www.apachehaus.com/cgi-bin/download.plx 选择合适的版本下载 本次下载的是 Apache 2.4.x VC14 Apache版 ...
随机推荐
- GRIDVIEW 控件
http://www.cnblogs.com/shanymen/archive/2009/05/22/1486654.html GridView控件是.net里的一个显示数据控件,该控件制作很人性化, ...
- CADisplayLink以及和NSTimer的区别
什么是CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器.我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个r ...
- python基础知识---变量
一.变量是什么? python变量是对内存中一个数据结构的引用,用一个变量给另外一个变量赋值,那就有两个变量引用同一个数据结构(数字.字符串.列表.元组.字典.自定义对象等) 当一个数据结构的引用计数 ...
- Python 之Django
1.安装Django(下载慢的时候用MaxVPN) pip3 install django 2.Django处理流程 新建project(mysite),执行dj(mysite),然后在console ...
- DIRECTORY_SEPARATOR 和 PATH_SEPARATOR的区别
DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’ windows上是’\’ PATH_SEPARATOR:路径分隔符,include多个路径使用,在win下,当你要in ...
- 自定义控件TextView
public class defineTextView extends TextView { Context context; public defineTextView(Context contex ...
- nginx 命令
nginx 命令 sudo /etc/init.d/nginx configtest 测试是否配置有错 sudo /usr/local/nginx/sbin/nginx -s reload ...
- 基于阿里云服务器的git服务器搭建
使用阿里云Ubuntu 12.0.4 64位操作系统做git服务器. 首先git服务器有两种访问方式可以选择:http方式和ssh的方式,http方式更容易使用. 1.http方式的git服务器搭建以 ...
- 如何创建多个Memcached服务
在学习Memcached时,为了模拟分布存储,常常需要建多个Memcached服务,如何建呢,只能使用命令行了 运行cmd,输入如下命令 sc create "Memcached Serve ...
- URLEncoder编码
客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将网址中的非ASCII码内容转换成可以 ...