博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 调用FLashPaper2(二)
阅读量:7111 次
发布时间:2019-06-28

本文共 2258 字,大约阅读时间需要 7 分钟。

C#调用FlashPaper2 
[2011-4-14 10:06:41]

c:相信大家都知道“FlashPaper”这个东西是用来干什么的,他是一个转换的软件,通过虚拟打印机把文件流转换成PDF或SWF文件。

这里废话就不多说了,直接看如何使用C#调用FlashPaper2:

protected void Button1_Click(object sender, EventArgs e) {
 string root = Server.MapPath("~/");  // 获取虚拟路径。  string path = this.FileUpload1.PostedFile.FileName;  // 获取上传文件的路径。  string name = System.IO.Path.GetFileName(path);  // 获取上传文件的名称,包括后缀。  string outPath = string.Format("{0}{1}{2}", root, "allFiles/", name);  // 合并上传文件的保存路径。  string swfPath = string.Format("{0}{1}{2}.swf", root, "swfFiles/", Guid.NewGuid().ToString("N"));  // 合并Swf文件保存的路径。  this.FileUpload1.PostedFile.SaveAs(outPath);  // 保存上传的文件到指定的路径。  // 通过注册表获取FlashPrinter.exe注册的路径。注:/初始化/初始化.bat   一定要执行过此文件后才可以获取路径。  string appPath = (string)Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPaper Printer\2\Installation", "AppPath", null);  string param = string.Format("{0} -o {1}", outPath, swfPath);  // 合并需要的参数信息。  // 创建一个进程。  System.Diagnostics.Process p = new System.Diagnostics.Process();  p.StartInfo.FileName = appPath;  // 赋值进程要执行的应用程序。  p.StartInfo.Arguments = param;  // 赋值应用程序可用参数。  p.StartInfo.UseShellExecute = false;  p.StartInfo.RedirectStandardInput = false;  p.StartInfo.RedirectStandardOutput = false;  p.StartInfo.RedirectStandardError = true;  p.StartInfo.CreateNoWindow = true;  // 是否创建显示窗口。  try  {
  bool IsStart = p.Start();  // 开始执行程序,如果执行成功返回True,否则False。   p.WaitForExit();  // 等待关联进程退出。   p.Close();  // 关闭进程。  }  catch(Exception ex)  {
  throw ex;  }  Response.Write("完成。");        } 说明:  Button1_Click:Button服务器控件的Click事件,用于上传到服务器的按钮。  FileUpload1:FileUpload服务器控件,用于上传文件。 这下好了,就可以把想转换的文件转换成SWF文件,执行一下试试。 如果是在VS调试情况下是可以正常执行的,那么你在通过IIS里执行一下试试,你可能会发现什么都正常也没报什么错误,还有可能你会发现在拒绝访问等类似的问题。 怎么解决?为什么会出现这些问题?我一步步来解决上面的两个问题。

 

问题一:

点击按钮后文件可以上传,就是SWF文件没有转换成功,也没报什么错误?
首先想一下,IIS是有一定权限的,不是任何程序都可以随便调用一些文件的,这么一想那就是权限问题了。加大权限,直接把程序池属性中标识选项卡里的预定义账户改为本地,这样应该没问题了。

问题二:

点击上传按钮时出现拒绝访问的问题?
首先看一下有没有IO权限,如果还行,请参考问题一的方法。

小结:此程序当前环境(系统:Win2003、工具:VS2005、SDK:v2.0)测试通过。在使用FlashPaper过程中,如果你想转换什么文件就需要安装什么软件。比如说我想转换Office(doc/ppt/xls)文档,你必须得安装Office软件才可以进行转换。

这里把需要的文件及Aspx文件打包上传了,有需要的朋友可以在此下载。注:压缩包内FlashPaper2为绿色版,压缩包注释中有包含一个安装版注册码。

转载于:https://www.cnblogs.com/Tylerwang/archive/2012/05/10/2494269.html

你可能感兴趣的文章
阿里巴巴
查看>>
__FUNCTION__, __LINE__ 有助于debug的宏定义
查看>>
性能学习笔记(1)
查看>>
伺服电机的调试步骤有哪些
查看>>
php取两个整数的最大公约数算法大全
查看>>
P1525 关押罪犯
查看>>
input子系统驱动学习之中的一个
查看>>
Android--绑定服务调用服务的方法
查看>>
shell中的四种模式匹配
查看>>
(转)Making 1 million requests with python-aiohttp
查看>>
The Google File System论文拜读
查看>>
Web应用扫描工具Wapiti
查看>>
hadoop-17-hive数据库元数据查看
查看>>
Bind-DLZ with MySQL
查看>>
Google 地图切片URL地址解析
查看>>
angualrjs 配置超时时间
查看>>
为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧...
查看>>
Nvme固体硬盘Intel750,SM961分别使用一段时间以后对比
查看>>
基于JMH的Benchmark解决方案
查看>>
html5利用websocket完成的推送功能(tomcat)
查看>>