无痕客

落花无情,流水无痕……

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

  之前在项目中研究使用了一套word转PDF,然后将PDF转成SWF的方法,最终实现SWF的在线浏览。自己还有些洋洋得意,昨晚在浏览网页搜集资料时发现:原来在2004年左右就有Flash Paper,已经很容易地实现上面的过程。

     Flash Paper支持Office文档(.doc,.xls,.ppt)直接转换为PDF或SWF,速度很快,效果较好。可惜,Flash Paper V2.2后没有再更新了。安装Flash Paper后,可以直接使用命令调用FlashPrinter.exe,实现批量转换。

     例如:C:\FlashPaper2.2\FlashPrinter.exe C:\Flex技术简介.ppt  -o C:\Flex技术简介.pdf

 public static void ConvertPdfToSwf(HttpRequest reqeust, String styFileName, String[] dataFileNames, String outputFileFullName)
 { 
try 
{ String flashPrinter 
= String.Concat(AppDomain.CurrentDomain.BaseDirectory, "FlashPrinter.exe");//FlashPrinter.exe 

System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(flashPrinter);
 if (String.IsNullOrEmpty(outputFileFullName)) 
 { 
return ; }
 Int32 intLastDot 
= outputFileFullName.LastIndexOf(".");
 
//*********Temp Programming****************************************
 Int32 intLast = outputFileFullName.LastIndexOf("\\"); 
String path 
= outputFileFullName.Substring(0, intLast);
 String tempFileName 
= path + "\\PdfToSwf20080923.pdf"
//*****************************************************************
 String swfFileName = String.Concat(path, "\\PdfToSwf20080923.swf"); 
startInfo.Arguments 
= String.Concat(tempFileName, " -o ", swfFileName);
 System.Diagnostics.Process process 
= new System.Diagnostics.Process(); 
process.StartInfo 
= startInfo;
 Boolean isStart 
= process.Start();
 process.WaitForExit();
 process.Close(); 
}
 
catch(Exception ex) { throw ex; } 
}

 

     在线浏览的SWF开发,可以采用开源的Flex Paper.swc.    

     现在分享Flash Paper破解版:下载

posted on 2010-08-01 08:26  无痕客  阅读(19447)  评论(7编辑  收藏  举报