整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML5培訓:使用HTML 5 PDF查看器查看PDF文件

          了在你的HMTL5 網站上查看PDF 文件,你要將它們嵌入到HTML5 PDF 查看器中。像Chrome這樣的瀏覽器已經有一個插件可以做到這一點,因此,你的PDF 文件將正確顯示給使用Chrome瀏覽器訪問你網站的人。不過,還有使用插件的替代方法。例如,AdobeInDesign 將幫助你構建交互式pdf。還有其他提示和技巧可用于呈現你的PDF文件,以便每個人都可以查看它們。想了解更多的查看方法,可以考慮報個HMTL5培訓班,有專業導師面授教學,課程緊隨企業需求,培養全棧開發人才。

          獲取HTML5 PDF 查看器

          網絡上有許多HTML5 PDF 查看器。例如,這些網站都可以提供在你的網站上使用的PDF查看器,并且所有瀏覽器都應該能夠查看你的文件:IDR解決方案、PDF項目、軟紙項目、非常PDF。

          你上傳文件并選擇HTML5,然后輸出你需要嵌入網頁的代碼。當有人訪問你的網頁時,他們將能夠在查看器中查看你的PDF 文件,而不是彈出鏈接。這些大多數PDF查看器網站也有出售軟件,這樣你就可以在計算機上擁有它的副本,而不必去他們的網站在線使用它。擁有該軟件的副本可以保護你的PDF副本(如果它受版權保護),并且通常還會為你提供更好的軟件版本。如果你想從事HTML5開發,又不知道從何學起,HMTL5培訓學習就是一個不錯的選擇,不只是學習理論知識,還有實踐項目的操作訓練,讓學生學以致用,提升學員全局性思維和全棧技術能力。

          將PDF 文件轉換為HTML5

          你可以將PDF 文件轉換為HTML5,以便每個人都能很好地查看你的文件。這樣,你就不必擔心別人看不到文件,因為他們的瀏覽器沒有插件來查看它,或者你的插件不適用于他們的計算機或瀏覽器。所以有人會看不到你的文件。

          HTML5– 新方式

          除了大多數設計師、Apple和Adobe 使用HTML5來創建他們的東西,使用HTML5 的另一個好處是新改進的頁面標題。你可以使用一些有意義的東西,如

          移動設備是在網站上使用HTML5的一個重要原因?,F在每個人都用手機,會產生巨大的訪問量,如果你的網站要接觸到這些移動用戶,那么你就要使用HTML5編寫內容。

          有很多方法可以在你的網站上完成HTML5 PDF 查看器。你可以嵌入代碼,也可以使用插件。還有一些網站提供免費的在線代碼生成器,為你編寫代碼,這樣你的PDF文件就會像雜志一樣顯示,用戶可以直接在你的網站上閱讀。如果你想了解有關HTML5的更多信息,可以參加HTML5培訓班學習,能夠快速掌握更系統全面的HTML5知識,讓你在短時間內學有所成。

          了解更多

          PDF文件現在在許多企業中常用 - 無論您是要生成銷售報告,交付合同還是發送發票,PDF都是首選的文件類型。PDF.js是由Mozilla編寫的JavaScript庫。由于它使用vanilla JavaScript實現PDF渲染,因此它具有跨瀏覽器兼容性,并且不需要安裝其他插件。在使用PDFJS之前你也可以先了解下原生的PDF<object>對象,本文僅介紹PDFJS。

          官網地址

          https://mozilla.github.io/pdf.js/

          下載和安裝

          官網提供了下載入口,有穩定版和Beta版,我們要在生產環境下使用建議使用穩定版,官網給我們提供了三種獲取PDF.js的方式

          使用說明

          我們可以直接使用cdn服務,也可以將下載的文件引入,我們看一下示例代碼,這里我提供了兩種寫法,在項目運行之前,請確保你的同級目錄下有一個test.pdf文件

          //index.html
          <!DOCTYPE html>
          <html lang="en">
          <head>
           <meta charset="UTF-8">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <meta http-equiv="X-UA-Compatible" content="ie=edge">
           <script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.0.943/build/pdf.min.js"></script>
           <script src='./index.js'></script>
           <title>PDF</title>
          </head>
          <body>
           <canvas id="pdf"></canvas>
          </body>
          </html>
          //index.js
          // var loadingTask = pdfjsLib.getDocument("test.pdf");
          // loadingTask.promise.then(
          // function(pdf) {
          // // 加載第一頁
          // pdf.getPage(1).then(function(page) {
          // var scale = 1;
          // var viewport = page.getViewport(scale);
          // //應用到頁面的canvas上.
          // var canvas = document.getElementById("pdf");
          // var context = canvas.getContext("2d");
          // canvas.height = viewport.height;
          // canvas.width = viewport.width;
          // // 渲染canvas.
          // var renderContext = {
          // canvasContext: context,
          // viewport: viewport
          // };
          // page.render(renderContext).then(function() {
          // console.log("Page rendered!");
          // });
          // });
          // },
          // function(reason) {
          // console.error(reason);
          // }
          // );
          // index.js
          (async () => {
           const loadingTask = pdfjsLib.getDocument("test.pdf");
           const pdf = await loadingTask.promise;
           // 加載第一頁.
           const page = await pdf.getPage(1);
           const scale = 1;
           const viewport = page.getViewport(scale);
           // 應用到頁面的canvas上.
           const canvas = document.getElementById("pdf");
           const context = canvas.getContext("2d");
           canvas.height = viewport.height;
           canvas.width = viewport.width;
           // 渲染canvas.
           const renderContext = {
           canvasContext: context,
           viewport: viewport
           };
           await page.render(renderContext);
          })();
          

          當我們運行項目之后,打開瀏覽器查看,它已經將pdf的內容渲染到了瀏覽器中,且顯示了第一頁,如下圖所示:

          如果就這樣的話遠遠是無法滿足我們使用的,因此我們來看一下它比較高級的用法,或者說簡單的用法,高級的功能。

          使用iframe

          首先我們將我們下載的js包加壓,復制里面的web文件夾,粘貼到你的項目目錄

          然后修改你的index.html代碼,首先注釋掉之前引入的js代碼,然后修改body,如下

          <body>
           <iframe src="test.pdf" style="border: none;" width="100%" height='1000px'></iframe>
          </body>
          

          隨后打開我們的瀏覽器,你會發現一個預覽的窗口

          它繼承了我們常用的功能,比如旋轉、下載、打印、自適應縮放、放大、縮小等,我們只需要使用iframe引入我們的pdf文件即可,其余的全部交給pdf來完成,即可獲得一個實現一個完整的pdf預覽功能。

          PDF.js三個不同層

          • 核心 - PDF的二進制格式在此層中進行解釋。直接使用該層被認為是高級用法。
          • 顯示 - 該層構建在核心層之上,為大多數日常工作提供易于使用的界面。
          • Viewer - 除了提供編程API之外,PDF.js還附帶一個現成的用戶界面,其中包括對搜索,旋轉,縮略圖側邊欄和許多其他內容的支持。

          PDFJS的這三層分開,讓我們很好的來根據業務需求來實現我們想要的部分,其簡單的api讓我們得心應手,總而言之,PDFJS是一個絕佳的PDF預覽解決方案。

          總結

          PDFJS不僅僅支持pdf的二進制文件,同樣還支持base64編碼的pdf,如果在你的項目中需要用到pdf的預覽等功能,無疑它是一種良好的解決方案,當然想要實現相同的功能有許多辦法,我們可以選擇最適合我們需求的,官方還提供了一個完整的演示Demo,如下截圖,如果你覺得本文對你有幫助,請麻煩轉發、點贊加關注吧,后續會分享更多實用有趣的技術!

          和往常一樣,jsPDF是一個開源的客戶端的PDF解決方案,在之前的文章中已經介紹過幾個Web端和PDF相關的庫,jsPDF同樣是一個不錯的客戶端PDF引 SDK,你可以通過jsPDF在客戶端完成相關操作,它包含了非常豐富的API,幫助你完成一系列的復雜操作!可以說它是相當領先的HTML5客戶端解決方案了!



          Github

          https://github.com/MrRio/jsPDF

          Github star數17k+,可以說相當受歡迎了!


          安裝使用

          一般情況下我們會考慮使用包管理,常見的就是npm了,因此安裝非常簡單

          npm install jspdf --save
          

          或者也可以使用yarn

          yarn add jspdf
          

          接下來就是制作你的文件的時候了

          默認導出為a4紙張,縱向,使用毫米表示單位


          var doc = new jsPDF()
          doc.text('Hello world!', 10, 10)
          doc.save('a4.pdf')
          

          如果要更改紙張尺寸,方向或單位,可以執行以下操作:


          var doc = new jsPDF({
           orientation: 'landscape',
           unit: 'in',
           format: [4, 2]
          })
          doc.text('Hello world!', 1, 1)
          doc.save('two-by-four.pdf')
          

          使用UTF-8 / TTF

          PDF中的14種標準字體僅限于ASCII代碼頁。如果要使用UTF-8,則必須集成自定義字體,該字體提供所需的字形。jsPDF支持.ttf文件。因此,如果你希望在pdf中使用中文文本,則您的字體必須具有必要的中文字形。因此,請檢查您的字體是否支持所需的字形,否則它將顯示空白而不是文本。



          要將字體添加到jsPDF,在/fontconverter/fontconverter.html中使用官網提供的fontconverter。fontconverter將創建一個js文件,其中包含提供的ttf文件的內容作為base64編碼的字符串和jsPDF的附加代碼。你只需將生成的js-File添加到項目中即可。然后,就可以在代碼中使用setFont-method并編寫UTF-8編碼文本。



          Angular/Webpack/React等配置

          常規操作

          import * as jsPDF from 'jspdf'
          

          有些框架,必須像下面這樣

          import jsPDF from 'jspdf';
          


          API

          jsPDF的api非常豐富,在這里就不提供相關地址了,在Github必然找的到,本文重點不在于介紹jsPDF的用法,將部分API截圖展示,通過名稱大致能猜到一些意思,具體用法需要參考官網文檔:













          從截圖來看,其文檔特別的詳細,具體到每一個API在js文件的行數,便于閱讀源代碼,包括參數以及返回值都非常明確:



          在線DEMO

          官方提供了一個在線demo,可以直接運行代碼,感興趣的可以先嘗試一下:



          總結

          jsPDF是筆者見過類似產品中較為突出的,幾乎涵蓋了所有PDF相關操作,非常詳細的文檔也讓開發者,輕松上手,在線demo還能快速學習,如果你的項目對PDF的操作比較多,不妨嘗試下jsPDF,唯一需要注意的就是解決字體問題,但是上文也提到過解決方案,感興趣的可以進行體驗!


          主站蜘蛛池模板: 蜜桃无码一区二区三区| 国产一区在线播放| 乱码人妻一区二区三区| 精品一区二区三区在线观看| 97se色综合一区二区二区| 亚洲色精品vr一区二区三区| 日本强伦姧人妻一区二区| 无码日韩人妻av一区免费| 在线视频一区二区| 亚洲一区免费观看| 国产免费无码一区二区| 国产成人精品一区二三区在线观看| 亚洲色精品三区二区一区| 日韩一区精品视频一区二区| 色狠狠一区二区三区香蕉蜜桃| 美女福利视频一区二区 | 一区二区视频免费观看| 玩弄放荡人妻一区二区三区| 久久精品免费一区二区| 亚洲一区中文字幕在线观看| 日韩精品无码一区二区三区| 久久se精品一区二区| 风间由美性色一区二区三区| 亚洲不卡av不卡一区二区| 日本一区二区在线| 亚洲国产成人精品无码一区二区| 少妇人妻精品一区二区三区| 色婷婷综合久久久久中文一区二区| 久久亚洲综合色一区二区三区| 成人免费区一区二区三区| 国产自产在线视频一区| 性色A码一区二区三区天美传媒| 日韩精品无码免费一区二区三区 | 日韩社区一区二区三区| 一区 二区 三区 中文字幕| A国产一区二区免费入口| 精品亚洲综合在线第一区| 日本视频一区在线观看免费 | 精品国产一区二区三区久久狼| 相泽南亚洲一区二区在线播放 | 亚洲综合色一区二区三区|