准備:
flexpaper,從這里下載http://code.google.com/p/flexpaper/downloads/list 或者官網http://flexpaper.devaldi.com/download/
SWFTools,從這里下載http://www.swftools.org/download.html 下載並安裝
上圖顯示當前項目的解決方案
首先把PDF轉換成SWF需要用命令行操作pdf2swf.exe (前提是安裝了SWFTools,我的安裝路徑為E:\\Program Files (x86)\\SWFTools\\pdf2swf.exe) 我是把PDF的處理作成單獨類
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Diagnostics; /// <summary> ///PDF2SWF 的摘要說明 /// </summary> public class PDF2SWF { public PDF2SWF() { // //TODO: 在此處添加構造函數邏輯 // } public static void ExecutCmd(string cmd,string args) { using(Process p=new Process()) { p.StartInfo.FileName=cmd; p.StartInfo.Arguments=args; p.StartInfo.UseShellExecute=false; p.StartInfo.RedirectStandardOutput=false; p.StartInfo.CreateNoWindow=true; p.Start(); p.PriorityClass=ProcessPriorityClass.Normal; p.WaitForExit(); } } }
接着調用類,(pdf2swf.exe所傳的參數簡單說描述下,-t后面跟的就是目標文件路徑,-o是輸出文件的具體路徑)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class SWFShow : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string cmdStr = "E:\\Program Files (x86)\\SWFTools\\pdf2swf.exe"; //string cmdStr = HttpContext.Current.Server.MapPath("E:\\Program Files (x86)\\SWFTools\\pdf2swf.exe"); string savePath = HttpContext.Current.Server.MapPath("Test"); string filePath = HttpContext.Current.Server.MapPath("PDF/MYTEST.pdf"); string args = " -t "+filePath+" -o "+savePath+"\\MYTEST.swf"; PDF2SWF.ExecutCmd(cmdStr, args); } }
這里先要建立兩個文件夾(Test,PDF)
接下來是前台顯示代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SWFShow.aspx.cs" Inherits="SWFShow" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript" language="javascript" src="Scripts/FlexPaperFlash_js/jquery.js"></script> <script type="text/javascript" language="javascript" src="Scripts/FlexPaperFlash_js/flexpaper_flash_debug.js"></script> </head> <body> <form id="form1" runat="server"> <div style="position:absolute;left:10px;top:10px;"> <a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a> <h1>使用靜態SWF實現</h1> <script type="text/javascript"> var fp = new FlexPaperViewer( ///FlexPaper組件的SWF框架路徑 'Scripts/FlexPaperFlash_js/FlexPaperViewer', 'viewerPlaceHolder', { config: { ///需要顯示的.swf SwfFile: 'Test/MYTEST.swf', Scale: 0.6, ZoomTransition: 'easeOut', ZoomTime: 0.5, ZoomInterval: 0.2, FitPageOnLoad: false, FitWidthOnLoad: false, PrintEnabled: true, FullScreenAsMaxWindow: false, ProgressiveLoading: false, MinZoomSize: 0.2, MaxZoomSize: 5, SearchMatchAll: false, InitViewMode: 'Portrait', ViewModeToolsVisible: true, ZoomToolsVisible: true, NavToolsVisible: true, CursorToolsVisible: true, SearchToolsVisible: true, localeChain: 'en_US' } }); </script> </div> </form> </body> </html>
注意:這里用到的FlexPaperFlash_js/jquery.js,flexpaper_flash_debug.js,'Scripts/FlexPaperFlash_js/FlexPaperViewer'中的FlexPaperViewer.swf 可以在百度中輸入FlexPaper_1.4.5_flash.zip下載
顯示效果如下:
這個FlexPaper還在學習中,求共同學習(上面的只是簡單的用法)