pdf網頁在線閱讀器pdfjs,pdf在線閱讀器下載

本文目錄一覽:

如何將PDF文件在線閱讀?

pdf在線閱讀,就是不下載pdf閱讀器,直接在網頁上面進行閱讀。

步驟:打開pdf在線閱讀網站,然後把pdf文件拖拽進來,就可以閱讀了。

pdf.js如何兼容ie8

pdf.js兼容ie8的寫法如下:var DEFAULT_URL = ‘**.pdf’;只用修改viewer.js文件中的pdf路徑參數即可。如果pdf文件與viewer.html不在一層目錄中,改成相對路徑即可。

pdf.js是一個由HTML5建立的PDF閱讀器。依託開源社區驅動和Mozilla實驗室的技術支持。目標是建立一個通用的,基於web的解析和渲染PDF文件的平台。

如何創建pdf的buffer,讓pdf.js實現預覽pdf文件

PDF.js 是基於開放的 HTML5 及 JavaScript 技術實現的開源產品。簡單說就是一個 PDF 解析器。運用HTML5JavaScript(即pdf.js僅使用安全的web語言,不包含任何攻擊者可以用的本地代碼塊)的PDF閱讀器pdf.js,直接在標準的HTML頁面上載入和渲染PDF文件, 還可以提高安全性(不需要安裝第三方插件,安全性由瀏覽器保證),瀏覽器所做的安全措施已經為pdf.js提供了安全的運行環境。其對IE和 FireFox瀏覽器的要求是IE9+, FireFox19+。

在線示例: ,

源碼:

官網:

pdf.js VS 傳統瀏覽器讀取pdf

一般來說,PDF檔案格式都是在瀏覽器中由外掛程式來描繪,通常是Adobe自己的PDF reader或來自其他供應商的描繪工具,但這些外掛通常無法充分運用PDF的特點,而且由於含有大量的受信任代碼,使得Google Chrome瀏覽器必須運用SandBox沙箱原理,來檢查PDF描繪工具是否遭到未知病毒感染。

使用adobe,必須在本地安裝軟體才能使用,而pdf.js不依賴環境、渲染速度快(測試過,確實很快)、安全性高。

pdf.js渲染PDF文件

pdf.js渲染PDF文件的流程:Fetch pdf (url / buffer) —— canvas —— 渲染

如果要深入pdf的渲染,需要去研究pdf.js源代碼。pdf.js可通過pdf文件的地址或pdf數據流獲取pdf,具體實現是調用介面函數 PDFJs.getDoc(url/buffer)將pdf載入html,通過canvas處理, 然後渲染pdf文件。網上給出的都是通過url來獲取pdf的例子,而我在做項目的時候,後台(python)要求是發pdf的數據流給前台,前台接收pdf的buffer,然後通過pdf.js來渲染。當然最初嘗試buffer出現了很多問題,具體問題總結如下:

1)如何通過$.ajax接收後台發給前台的buffer數據;

2)如何將buffer傳給pdf.js來處理(這裡我使用了viewer.js, 所以需要考慮的是如何將buffer傳給viewer.js來處理);

3)如何將pdf.js轉換成pdf.js可以接收的buffer格式;

(對應問題解決見代碼注釋)

註:viewer.js是pdf.js的擴展,其將列印、翻頁、縮放等功能進行了實現,且界面非常好看。也就是說如果你引入了viewer.js,pdf的渲染和渲染之後的功能界面都已經幫你實現了,你不用自己去寫界面。

先從官網: 下載代碼,然後使用文件viewer.html , 我的html就是在viewer.html 的基礎上修改的,下面我給出buffer的例子:

!DOCTYPE html

html dir=”ltr” mozdisallowselectionprint moznomarginboxes

head

meta charset=”utf-8″

meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″

meta name=”google” content=”notranslate”

title在線預覽/title

{% load static %}{% get_static_prefix as STATIC_URL %}

link href=”{{STATIC_URL}}css/preview.css” rel=”stylesheet” type=”text/css” /

link rel=”stylesheet” href=”{{STATIC_URL}}pdfjs/web/viewer.css”/

script type=”text/javascript” src=”{{STATIC_URL}}pdfjs/web/compatibility.js”/script

link rel=”resource” type=”application/l10n” href=”{{STATIC_URL}}pdfjs/web/locale/locale.properties”/

script type=”text/javascript” src=”{{STATIC_URL}}pdfjs/web/l10n.js”/script

script type=”text/javascript” src=”{{STATIC_URL}}pdfjs/build/pdf.js”/script

script type=”text/javascript” src=”{{STATIC_URL}}pdfjs/web/debugger.js”/script

script src=”{{STATIC_URL}}js/jquery-1.8.3.js” type=”text/javascript”/script

script type=”text/javascript”

//convertDataURIToBinary()

//不知道什麼原因如果後台直接將pdf的數據流發給前台,得到的是亂碼,將數據轉換成 Uint8Array始終不成功

//所以就讓後台將發送之前的數據流做 了base64編碼發給前台,前台再解碼得到的數據就不是亂碼了。

var BASE64_MARKER = ‘;base64,’;

var preFileId = {{mark}};

//viewer.js全局變數,傳入buffer,回答問題2

var DEFAULT_URL

$(document).ready(function(){

$.ajax({

type:”post”,

async: false,

//ajax接收pdf數據流,注意dataType值的設置是否有錯,如果不指定,jQuery將自動根據HTTP包MIME信息返回

//responseXML或responseText . 回答問題1

contentType:”application/pdf;charset=utf-8″,

url:”{% url netPan.File.views.browserFuf%}”,

data:{

id: preFileId

},

success:function(data){

var pdfAsDataUri = data;

//如果引入了viewer.js , 處理方法

var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);

DEFAULT_URL = pdfAsArray;

// 只引入了pdf.js, 未引入viewer.js, 處理方法

// var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);

// PDFJS.getDocument(pdfAsArray).then(); 自己寫pdf的處理函數

}

});

});

function convertDataURIToBinary(dataURI) { //編碼轉換,回答問題3

var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;

var base64 = dataURI.substring(base64Index);

var raw = window.atob(base64);

var rawLength = raw.length;

//轉換成pdf.js能直接解析的Uint8Array類型,見pdf.js-4068

var array = new Uint8Array(new ArrayBuffer(rawLength));

for(i = 0; i rawLength; i++) {

array[i] = raw.charCodeAt(i);

}

return array;

}

/script

!–先設置全局變數DEFAULT_URL 的值,所以要後調入viewer.js —

script type=”text/javascript” src=”{{STATIC_URL}}pdfjs/web/viewer.js”/script

/head

body

省略內容

/body

/html

pdf.js 無法在線預覽PDF

你這個問題比較專業,回答起來比較麻煩,我們先來理一理該如何去解決問題,問題是:你是向要將PDF文件進行在線打開,去發現無法將文件進行打開。

原因可能是:

1.你的PDF文件和電腦起到衝突的原因

2.可能是文件在接收或者在下載的時候收到損壞!

如果是這個問題的話那就簡單,小編可以教你使用一個方法可以將它解決!

1.其實我們可以使用在線PDF轉換器就可以了,不僅可以對它進行在線的閱讀,還可以對它進行其他格式的在線轉換或者PDF文件的編輯!

2.我們打開網站之後就可以將文件進行上傳上去,但是要記住,文件大小不要超過2M,然後進行上傳!

3.點擊上傳之後我們就可以看到文件,然後我們就可以對文件進行閱讀或者將不足的地方進行編輯,達到完善的結果!

以上就是我的個人見解,希望對小夥伴們有所幫助!

pdf格式的文件怎麼在網站上直接打開

1、在Firefox瀏覽器地址欄輸入關鍵詞:about:config,然後按下回車打開設置頁面

2、這時會彈出風險提示窗口,點擊「我了解此風險」按鈕即可。

3、在打開的Firefox設置頁面中,在搜索框中輸入pdfjs,這時可以在下面的搜索結果中找到「pdfjs.disabled」設置項。

4、雙擊上面的設置項,把其布爾值修改為true,然後退出瀏覽器設置頁面即可。

5、通過上面的設置,Firefox不會再自動打開PDF文件了,但也可能會出現自動下載的情況,我們接著點擊Firefox瀏覽器工具欄上的「打開菜單」按鈕。

6、接著在彈出的打開菜單下拉菜單中點擊「選項」菜單項。

7、這時會打開Firefox設置窗口,在應用程序一項中,點擊PDF文件下拉菜單,選擇「總是詢問」菜單項即可。這樣再點擊網頁上的PDF超級鏈接,就會彈出一個訪問框,可以選擇下載或是使用第三方瀏覽器打開了。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128172.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • Python基礎教程第三版PDF下載

    熟練掌握Python編程語言可以讓你輕鬆地用代碼解決很多問題,Python基礎教程第三版是一本適合初學者的Python教程。本文將從幾個方面詳細介紹Python基礎教程第三版PDF…

    編程 2025-04-29
  • 使用Spire.PDF進行PDF文檔處理

    Spire.PDF是一款C#的PDF庫,它可以幫助開發者快速、簡便地處理PDF文檔。本篇文章將會介紹Spire.PDF庫的一些基本用法和常見功能。 一、PDF文檔創建 創建PDF文…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • 智能風控 Python金融風險PDF

    在金融交易領域,風險控制是一項重要任務。智能風控是指通過人工智慧技術和演算法模型,對金融交易進行風險識別、風險預警、風險控制等操作。Python是一種流行的編程語言,具有方便、易用、…

    編程 2025-04-29
  • Python編程與數據分析應用PDF

    Python編程是一門功能強大的編程語言,其易讀易寫、可擴展性強等優點使得它在各個領域都有著廣泛的應用。而數據分析也是當今各行各業的基本需求,Python語言通過優秀的數據分析庫也…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 文本數據挖掘與Python應用PDF

    本文將介紹如何使用Python進行文本數據挖掘,並將著重介紹如何應用PDF文件進行數據挖掘。 一、Python與文本數據挖掘 Python是一種高級編程語言,具有簡單易學、代碼可讀…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • 金融閱讀器提示配置文件無法識別

    在使用金融閱讀器過程中,有時會遇到提示配置文件無法識別的情況。這種情況通常是由於配置文件中存在錯誤或不完整所導致的。本文將從多個方面對此問題進行詳細的闡述,並提供相應解決方法。 一…

    編程 2025-04-28

發表回復

登錄後才能評論