PDF在線閱讀的兩種方法:
1.??直接用Object讀取PDF文件(如果機器上客戶端都安裝了PDF的話)
aspx代碼:
??????<object id=”pdfObject” width=”80%” height=”80%” classid=” CLSID:CA8A9780-280D-11CF-A24D-444553540000”>
????????????<param name=”SRC” value=”DinnerNow.pdf”>
??????</object>
其中如果需要從后臺讀取這個value值(DinnerNow.pdf)在下面一并描述。
2.??將上傳的PDF文件轉(zhuǎn)換為swf格式之后,用flash閱讀,這樣的話就分兩步,第一步的話就是在上傳文件的時候?qū)DF轉(zhuǎn)化為swf格式,處理方法如下:
a)?在服務(wù)器機器上安裝swftools-0.9.1.exe(或者FlashPaper之類的軟件),在這邊我用swftools(如我的文件安裝在C://Program Files//SWFTools)。
b)?客戶端上傳文件(如用FileUpload上傳文件之后,如SaveAs方法之后),調(diào)用服務(wù)器端CMD,代碼如下:
??????????????Process?p =?new?Process();
????????????p.StartInfo.FileName =?"cmd.exe";
????????????p.StartInfo.UseShellExecute =?false;
????????????p.StartInfo.RedirectStandardInput =?true;
????????????p.StartInfo.RedirectStandardOutput =?true;
????????????p.StartInfo.RedirectStandardError =?true;
????????????p.StartInfo.CreateNoWindow =?true;
????????????p.Start();
????????????p.StandardInput.WriteLine("cd C://Program Files//SWFTools");
????????????//?d://DinnerNow.pdf是服務(wù)器中保存文件的地址(上傳文件到服務(wù)器的哪個位置)
????????????//?d:// DinnerNow.swf是需要將pdf文件轉(zhuǎn)化為swf文件之后的路徑
????????????p.StandardInput.WriteLine("pdf2swf.exe d://DinnerNow.pdf -o d:// DinnerNow.swf -T 9");
????????????p.StandardInput.WriteLine("exit");
????????????p.WaitForExit();
????????p.Close();
?c) 之前兩步做的都是準備工作,就是將pdf文件轉(zhuǎn)換為swf,接下來就是在線閱讀了,在線閱讀跟第一種方法中一樣,也用object來處理,aspx代碼如下:
???? <div>
??????? <script type="text/JavaScript">
??????????? document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="50%" height="50%" codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=8,0,0,0">');
??????????? document.write('<param name="MOVIE" value=' +?src?+ '>');
??????? </script>
??? </div>
???? 那么其中的src怎么得到呢,可以在aspx.cs后臺傳到前臺去,如重寫一個OnPreRender方法:
????????? protected override void OnPreRender(EventArgs e)
??????? {
??????????? base.OnPreRender(e);
??????????? Page.ClientScript.RegisterClientScriptBlock(GetType(), "swfSrc", "<script type=/"text/javascript/">var src = 'DinnerNow.swf';</script>");
??????? }
???? 上面兩步建議用自定義控件去封裝下
---------------------
作者:山鷹的天空
來源:CSDN
原文:https://blog.csdn.net/LanSeTianKong12/article/details/77529160
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!