alexmen

专注.net软件开发,项目管理体系PMBOK.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

FlashPaper是一个虚拟打印机,可将word文件转化成swf格式文件(.doc .xls .txt .pdf等文件都可以正常生成SWF格式),用它可以在ASP.NET页面中实现类似百度文库或豆丁文档的在线文件查看效果。

1.代码文件

调用FlashPaper的.aspx文件中代码如下:(首先请确认你的FlashPrinter.exe可以运行)

  

1 //转换并生产PDF
2 public void ConvertToSWF(string oldFile, string swfFile) // oldFile格式a.doc newFIle格式 b.swf
3 {
4 System.Diagnostics.Process pc = new System.Diagnostics.Process();
5 pc.StartInfo.FileName = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe"; //默认安装目录
6 pc.StartInfo.Arguments = string.Format("{0} -o {1}", oldFile, swfFile); //调用FlashPrinter的命令
7 pc.StartInfo.CreateNoWindow = true; //不创建窗口
8 pc.StartInfo.UseShellExecute = false; //不使用系统外壳程序启动
9 pc.StartInfo.RedirectStandardInput = false; //不重定向输入
10 pc.StartInfo.RedirectStandardOutput = false; //不重定向输出
11 pc.StartInfo.RedirectStandardError = true;
12 pc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
13 pc.Start();
14 pc.WaitForExit();
15 pc.Close();
16 pc.Dispose();
17 }

2.FlashPaper在IIS6.0下不能运行的解决办法,是以下三者之一,反正我三个全试过就好使了,不清楚是哪一个:

 1.如果不能正常操作,是权限的问题,以iis 为例,请把IUSR_xxx授权到读写的文件夹
 2.在IIS的应用程序池中的标识预定义账户修改成本地系统,就拥有了全部的权限,就可以实现了
 3.还碰到权限问题,简单的解决方法如下: 请把Network Service账号添加至administrators组,并重启iis admin服务。另外说一句,如果找不到Network Service账号,请找IIS_WPG组,把该组加到admin,这其实是一样的,该组下的NT AUTHORITY\NETWORK SERVICE就是Network Service。

 

切记重启IIS,最好重启服务器。。。

如果还不行,打开Windows任务管理器  找到FlashPaper进程 对应的用户 ,将该用户加入administrators组

再重启IIS   OK

posted on 2011-05-04 15:42  alexmen  阅读(4258)  评论(0编辑  收藏  举报