FlashPaper是一个虚拟打印机,可将word文件转化成swf格式文件(.doc .xls .txt .pdf等文件都可以正常生成SWF格式),用它可以在ASP.NET页面中实现类似百度文库或豆丁文档的在线文件查看效果。 如果word或xls中有宏,貌似不成功! 1.代码文件 调用FlashPaper的.aspx文件中代码如下:(首先请确认你的FlashPrinter.exe可以运行) using System.Diagnostics; //转换并生产PDF public void ConvertToSWF(string oldFile, string swfFile) // oldFile格式a.doc newFIle格式 b.swf { System.Diagnostics.Process pc = new System.Diagnostics.Process(); pc.StartInfo.FileName = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe"; //默认安装目录 pc.StartInfo.Arguments = string.Format("{0} -o {1}", oldFile, swfFile); //调用FlashPrinter的命令 pc.StartInfo.CreateNoWindow = true; //不创建窗口 pc.StartInfo.UseShellExecute = false; //不使用系统外壳程序启动 pc.StartInfo.RedirectStandardInput = false; //不重定向输入 pc.StartInfo.RedirectStandardOutput = false; //不重定向输出 pc.StartInfo.RedirectStandardError = true; pc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; pc.Start(); pc.WaitForExit(); pc.Close(); pc.Dispose(); } 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 |