网页上预览pdf文件的几种方案
生活随笔
收集整理的這篇文章主要介紹了
网页上预览pdf文件的几种方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
網頁上查看pdf的方案:
1.使用adobe reader的插件
2.使用在線office控件
3.使用火狐開源項目pdf.js(瀏覽器需支持html5)
4.將pdf轉換為swf文件
5.使用pdfobject.js
下面我來講一講各種方案的實現,第一種使用adobe reader 插件就是需要用戶安裝adobe reader軟件,ActiveX控件。
window.onload = isAcrobatPluginInstall;
function isAcrobatPluginInstall() {
var flag = false;
// 如果是firefox瀏覽器
if (navigator.plugins && navigator.plugins.length) {
for (x = 0; x < navigator.plugins.length; x++) {
if (navigator.plugins[x].name == 'Adobe Acrobat')
flag = true;
return;
}
}
// 下面代碼都是處理IE瀏覽器的情況
else
if (window.ActiveXObject) {
for (x = 2; x < 10; x++) {
try {
oAcro = eval("new ActiveXObject('PDF.PdfCtrl." + x + "');");
if (oAcro) {
flag = true;
}
} catch (e) {
flag = false;
}
}
try {
oAcro4 = new ActiveXObject('PDF.PdfCtrl.1');
if (oAcro4)
flag = true;
} catch (e) {
flag = false;
}
try {
oAcro7 = new ActiveXObject('AcroPDF.PDF.1');
if (oAcro7)
flag = true;
} catch (e) {
flag = false;
}
}
if (flag) {
return true;
} else {
alert("對不起,您還沒有安裝PDF閱讀器軟件呢,為了方便預覽PDF文檔,請選擇安裝!");
//location = 'http://ardownload.adobe.com/pub/adobe/reader/win/9.x/9.3/chs/AdbeRdr930_zh_CN.exe';
document.getElementById("IfNoAcrobat").style.display = "block";
document.getElementById("showdiv").style.display = "none";
}
return flag;
}
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="990" height="600" border="0" top="-10" name="pdf">
<param name="toolbar" value="false">
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="文件路徑">
<!-- 這里重復設置屬性值,主要是因為firefox、Chrome支持embed,而不支持param -->
<embed src="文件路徑" quality="high" bgcolor="#ffffff" width="990" height="700" align="center" type="application/pdf" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
第二種使用在線的office控件
我使用的是一款叫做PageOffice的產品,功能很強大,不過好像要收費,有試用版的!官方文檔很詳細,自己搜索吧!
第三種使用pdf.js預覽
這個也比較簡單,去github上下載開源項目,打開里面的example.html直接將面的路徑替換成你自己的就行了,里面有些文件可以刪除!
第四種將pdf文件轉換成swf文件,即使用flash查看
大致思路是安裝swftools軟件,利用java代碼啟動進程將pdf轉換成swf,然后將路徑傳回前臺即可!
簡單貼一下代碼
1 try {
2
3 String command = t + "pdf2swf.exe -i " + sourceFile + " -o "http://t是swftools軟件的安裝的根目錄 sourceFile 目標文件路徑 destFile目的文件路徑
4 + destFile;
5 Process pro = Runtime.getRuntime().exec(command);
6
7
8 BufferedReader bufferedReader = new BufferedReader(
9 new InputStreamReader(pro.getInputStream()));
10 while (bufferedReader.readLine() != null) {
11
12
13 }
14 pro.waitFor();
15 return pro.exitValue();
16 } catch (InterruptedException e) {
17 e.printStackTrace();
18 } catch (IOException e1) {
19 e1.printStackTrace();
20 }
有個問題可能需要注意一下如果使用的是tomcat服務器 tomcat文件夾是不允許其他軟件隨便寫的,建議先生成在其他文件夾下 然后java代碼移動到項目路徑下
第五種使用pdfobject.js
這個也是github上的開源項目,可以直接去下載,使用起來也是相當簡單
1 <script type="text/javascript" src="pdfobject.js"></script>
2
3 <script type="text/javascript">
4
5 window.onload = function (){
6
7 var success = new PDFObject({ url: "sample.pdf" }).embed();
8
9 };
10 </script>
總結
以上是生活随笔為你收集整理的网页上预览pdf文件的几种方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios开发之--PDF文件生成
- 下一篇: 百度语音识别开放平台SDK用法