FlashPaper是一个虚拟打印机,可将word文件转化成swf格式文件。最近简单学习了在ASP.NET页面中调用FlashPaper将word文件转化成swf格式文件的方法。
(1)安装FlashPape:下载FlashPape压缩包,解压缩后,运行初始化目录中的初始化.bat,然后安装FlashPaperDriverInstall2.exe,即FlashPaper打印机。特别注意,在有的机器上要更改Macromedia FlashPape的端口,应为FlashPape2PrinterPort,如果是LPT1这个端口,当然打印不出来了。
(2)为页面中的按钮编写事件处理代码:
try
{
Process p = new Process();
p.StartInfo.FileName = "cmd";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow =true;
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.Start();
string strOutput = null;
string s = @"D:\flashpaper2\FlashPaper2.2\FlashPrinter.exe " + Server.MapPath("file/test.doc") + " -o " +Server.MapPath("swf/test.swf");
p.StandardInput.WriteLine(s);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
Console.WriteLine(strOutput);
p.WaitForExit();
p.Close();
lblMessage.Text="success";
}
catch (Exception ex)
{
lblMessage.Text = ex.ToString();
}
注意:FlashPrinter.exe所在的目录名称中不能有空格,否则转换失败。
(3)可能还碰到权限问题,简单的解决方法如下:
在Windows xp系统下请把aspnet账号(如果是vista,则是networkservice)添加至administrators组,并重启iis admin服务。