网上找了很多相关例子,怎么测试都存在问题。查到最多的方法是通过FlashPaper2.2这个软件,先转换成swf格式,然后在网页输处。测试代码使用FlashPaper2.2绿色免安装版,网上找的基本都免安装。直接将软件文件夹拷入工程根目录下。测试代码如下:
string time = DateTime.Now.ToString("yyyyMMddHHmmss");
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
string paperroot = Server.MapPath("~/FlashPaper2.2/FlashPrinter.exe"); //软件路径
string docFile = Server.MapPath("~/TestSWF/1.doc");//原DOC文件路径
string swfFile = Server.MapPath("~/TestSWF/" + time + ".swf");//存放SWF路径
startInfo.FileName = paperroot;
startInfo.Arguments = string.Format(@"{0} -o {1}", docFile, swfFile);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = false;
startInfo.RedirectStandardOutput = false;
startInfo.CreateNoWindow = false;
process.StartInfo = startInfo;
process.Start(); if (process != null)
{
process.Close();
}
以上代码在VS2005中测试是通过的,主要存在以下三个问题:
1.运行转换时会弹出该软件本身的应用程序界面,这绝对是影响用户体验的。
2.如果批量转换,比如同时上传5个DOC转换,会卡住。(我用的是多线程)最后无法完成转换。
3.发布到IIS中执行没反应。可能是用户权限问题,(已经设置TestSWF文件夹的ereryone,net work,asp.net等权限,还是不行)
4.FlashPaper2.2该软件在WIN7的系统下不能正常运行。会提示没有正确安装虚拟打印机,网上查的说是不兼容64位系统。为了解决该问题,我在网上又找到了一款Print2Flash3该软件,据说这款软件是FlashPaper2.2升级版,经过测试能在win7系统下运行。但发布到IIS中还是不能运行,批量也不能运行,转换很慢,最大问题是使用Print2Flash3转换出来的swf文档最后会有一行英文。据说要注册以后才能去掉(网上下的包中有注册码,也可以在网上找到Print2Flash3的安装教程flash视频版),但注册之后,卸载后,重新安装注册会提示注册失败。(可能是第一次安装注册会在注册表中生成记录所以不能注册),但不知道如何删除注册表中注册记录。经过我的测试,在C#代码中执行Print2Flash3软件,主要代码是以下两句:
string.Format(@"{0} {1}", docFile, swfFile); //中间没有 “-o”
调用的是:Print2Flash3\p2fServer.exe这句,否则不能转换。
同样在VS2005中测试可以,发布以后就不能转换。最后求解。究竟如何才能正确使用FlashPaper2.2或者Print2Flash3两个软件。或者还有什么更好的办法来实现百度文库的效果。其他事宜请联系我QQ584366725 ·~ 真诚求解 !··
string time = DateTime.Now.ToString("yyyyMMddHHmmss");
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
string paperroot = Server.MapPath("~/FlashPaper2.2/FlashPrinter.exe"); //软件路径
string docFile = Server.MapPath("~/TestSWF/1.doc");//原DOC文件路径
string swfFile = Server.MapPath("~/TestSWF/" + time + ".swf");//存放SWF路径
startInfo.FileName = paperroot;
startInfo.Arguments = string.Format(@"{0} -o {1}", docFile, swfFile);
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = false;
startInfo.RedirectStandardOutput = false;
startInfo.CreateNoWindow = false;
process.StartInfo = startInfo;
process.Start(); if (process != null)
{
process.Close();
}
以上代码在VS2005中测试是通过的,主要存在以下三个问题:
1.运行转换时会弹出该软件本身的应用程序界面,这绝对是影响用户体验的。
2.如果批量转换,比如同时上传5个DOC转换,会卡住。(我用的是多线程)最后无法完成转换。
3.发布到IIS中执行没反应。可能是用户权限问题,(已经设置TestSWF文件夹的ereryone,net work,asp.net等权限,还是不行)
4.FlashPaper2.2该软件在WIN7的系统下不能正常运行。会提示没有正确安装虚拟打印机,网上查的说是不兼容64位系统。为了解决该问题,我在网上又找到了一款Print2Flash3该软件,据说这款软件是FlashPaper2.2升级版,经过测试能在win7系统下运行。但发布到IIS中还是不能运行,批量也不能运行,转换很慢,最大问题是使用Print2Flash3转换出来的swf文档最后会有一行英文。据说要注册以后才能去掉(网上下的包中有注册码,也可以在网上找到Print2Flash3的安装教程flash视频版),但注册之后,卸载后,重新安装注册会提示注册失败。(可能是第一次安装注册会在注册表中生成记录所以不能注册),但不知道如何删除注册表中注册记录。经过我的测试,在C#代码中执行Print2Flash3软件,主要代码是以下两句:
string.Format(@"{0} {1}", docFile, swfFile); //中间没有 “-o”
调用的是:Print2Flash3\p2fServer.exe这句,否则不能转换。
同样在VS2005中测试可以,发布以后就不能转换。最后求解。究竟如何才能正确使用FlashPaper2.2或者Print2Flash3两个软件。或者还有什么更好的办法来实现百度文库的效果。其他事宜请联系我QQ584366725 ·~ 真诚求解 !··
http://www.cnblogs.com/insus/archive/2011/07/21/2112369.html
FlashPaper 发布到IIS中用不了,在win7下也是不能用的。
我这里不考虑是否要审核的,只要上传的DOC 能转换成swf 就可以了。 发布到2003的IIS里,以上使用的两个软件都不能使用,不知道是不是权限问题。该设置的好像都设置了。 求解~~~~~
我查过了,该软件要配合SwfTools 这个东西,但是安装SwfTools这个之后不知道怎么操作,直接拖动doc到到SwfTools应用程序里面就卡住了,没法转换 ? 求解 !!~~~·
页面是访问swf,至于上传的东西怎么转成swf,网上有免费的一个exe工具,写一个.net程序调用exe把你的文件转成swf即可.
好像要搭配这个软件 SwfTools ,但安装之后不知道怎么使用,很费劲啊,。。求解。。·~~~~~~
至于弹出应用程序 web端是不会出现的 最多在你的iis服务器上出现一下不要做多线程 排个队就行了
win7系统 ,用的print2flash,前台用enum显示。
跟19楼说的一样,开始想用windows服务,定时生成,但是发现好像不能启动命令行,后来就改用类库了,可以设置程序一直运行。