Vue2.x封裝預覽PDF組件

一、為什么用PDFObject插件?

PDFObject 是一個輕量級的 JavaScript 庫,主要用于在網頁中嵌入和預覽 PDF 文件。它通過簡單的 API 調用,可以在瀏覽器中實現 PDF 文件的顯示,而無需依賴任何插件。以下將詳細介紹 PDFObject 的特點、優勢及其在 Vue2.x 中的使用方法。

1.輕量級與易用性

PDFObject 僅包含一個小型的 JavaScript 文件,無需復雜的配置即可使用。只需引入庫文件并調用 PDFObject.embed() 方法,即可在指定容器中嵌入 PDF 文件。

2.無插件依賴

它利用瀏覽器的內置 PDF 查看器(如 Chrome 的 PDFium 或 Adobe Reader 插件)來實現 PDF 的預覽,無需安裝額外的插件,如 Flash 或 Adobe Reader。

3.跨瀏覽器兼容性

PDFObject 支持主流瀏覽器,包括 ChromeFirefoxSafariEdge,同時也能兼容部分舊版瀏覽器(如 IE9+)。這種兼容性使得它在不同環境下都能穩定運行。

4.靈活的自定義選項

PDFObject 提供了多種參數來控制 PDF 的顯示效果,例如:
widthheight:設置 PDF 的顯示尺寸。
page:指定初始顯示的頁面。
toolbar:控制工具欄的顯示或隱藏。
zoom:設置縮放比例。
navpanes:控制導航窗格的顯示或隱藏。
快速集成
在 Vue2.x 中,PDFObject 可以通過簡單的引入和調用快速集成到項目中,適合快速開發需求。

二、Vue中使用PDFObject示例

1. 安裝 PDFObject

可以通過 npm 安裝 PDFObject

npm install pdfobject
2. 引入 PDFObject 并使用

在 Vue 組件中,通過 import 引入 PDFObject,并調用其 embed 方法來實現 PDF 的預覽,

<template><div class="preview-pdf"><div class="loading-block"><p class="loading-word">加載中...</p></div><div ref="pdfViewerRef" style="z-index: 10;"></div></div>
</template><script>
import PDFObject from 'pdfobject';export default {name: "pdf-preview",data() {return {url: '',previewUrl:""}},mounted() {this.loadPdf();},methods: {loadPdf() {let url = '后端訪問pdf路徑';fetch(url).then(response => response.arrayBuffer()).then(buffer => new Uint8Array(buffer)).then(uint8array => {// 創建Blob對象const blob = new Blob([uint8array], { type: 'application/pdf' });// 創建一個指向Blob的URLconst pdfUrl = URL.createObjectURL(blob);// 現在你可以使用這個URL與PDFObject結合// 'pdf-container'是頁面上用于展示PDF的HTML元素IDPDFObject.embed(pdfUrl, this.$refs.pdfViewerRef, {style: 'position: absolute'});});}}
}
</script><style scoped lang="scss">
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915207.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

undefined reference to ‘end‘

相關問題&#xff1a; 一、undefined reference to _exit undefined reference to ‘end‘ warning: _close is not implemented and will always fail 一、環境&#xff1a; ubuntu24.04實體機、 arm-none-eabi-gcc gcc version 13.2.1 20231009 (15:13.2.rel1-2) 二…

nginx定制http頭信息

修改http響應頭信息&#xff0c;相關Nginx模塊&#xff1a;ngx_http_headers_moduleexpires語法&#xff1a;expires [modified] time;expires [modified] time;默認值&#xff1a;expires off;作用域&#xff1a;http, server, location, if in location用途&#xff1a;控制緩…

主機安全---開源wazuh安裝

Wazuh 簡介 Wazuh 是一款免費開源的終端安全監控平臺&#xff0c;支持威脅檢測、完整性監控、事件響應和合規性管理&#xff0c;適用于企業級安全運維場景。其核心組件包括&#xff1a; Wazuh Indexer&#xff1a;基于 OpenSearch 的日志存儲與檢索組件。Wazuh Server&#x…

GaussDB 數據庫架構師修煉(四) 備份容量估算

1 影響備份容量關鍵要素業務總數據量備份數據保留周期備份周期備份數據的壓縮比平均每天的新增數據量平均每天新增日志數據量2 備份容量的估算方法公式備份容量C &#xff1d; 自動全量備份容量C1 &#xff0b; 自動差量備份容量C2 &#xff0b; 自動日志歸檔 容量C3 &#xff…

《R for Data Science (2e)》免費中文翻譯 (第0章) --- Introduction

寫在前面 本系列推文為《R for Data Science (2e)》的中文翻譯版本。所有內容都通過開源免費的方式上傳至Github&#xff0c;歡迎大家參與貢獻&#xff0c;詳細信息見&#xff1a; Books-zh-cn 項目介紹&#xff1a; Books-zh-cn&#xff1a;開源免費的中文書籍社區 r4ds-zh-cn…

如何 ASP.NET Core 中使用 WebSocket

如何在 ASP.NET Core 中使用 WebSocket在現代 Web 應用程序中&#xff0c;WebSocket 連接非常流行且使用率極高。它可以幫助企業滿足數字環境需求&#xff0c;并處理來自最終用戶的實時數據。它還能提升生產力、輸出率和用戶體驗。如果您還沒有使用 WebSocket&#xff0c;那么您…

Python之--元組

定義是 Python 中內置的不可變序列。在 Python 中使用&#xff08;&#xff09;定義元組&#xff0c;元素與元素之間使用英文的逗號分隔。元組中只有一個元素的時候&#xff0c;逗號也不能省略。元組的創建方式&#xff08;1&#xff09;使用&#xff08;&#xff09;直接創建元…

工業相機GigE數據接口的優勢及應用

工業相機不同的數據接口適用的應用場景也不同&#xff0c;選擇合適的數據額接口&#xff0c;可大大提高效率。今天我們來看看常見的GigE接口的優勢及應用。基于GigE Vision標準的千兆以太網&#xff08;GigE&#xff09;相機通過提供快速、靈活且成本效益高的成像解決方案&…

【53】MFC入門到精通——MFC串口助手(二)---通信版(發送數據 、發送文件、數據轉換、清空發送區、打開/關閉文件),附源碼

文章目錄1 完整 功能展示2 添加控件變量及聲明2.1 添加控件及變量2.2 SerialPortDlg.h: 頭文件3 函數實現3.1 數據發送3.1.2 寫數據、字符串轉3.2 發送文件3.2.1 打開文件3.2.2 發送文件3.3 清空發送區4 完整MFC項目項下載1 完整 功能展示 串口通信助手 頁面展示&#xff0c;功…

算法學習筆記:27.堆排序(生日限定版)——從原理到實戰,涵蓋 LeetCode 與考研 408 例題

堆排序&#xff08;Heap Sort&#xff09;是一種基于二叉堆數據結構的高效排序算法&#xff0c;由計算機科學家 J. W. J. Williams 于 1964 年提出。它結合了選擇排序的思想和二叉堆的特性&#xff0c;具有時間復雜度穩定&#xff08;O (nlogn)&#xff09;、原地排序&#xff…

I/O 多路復用select,poll

目錄 I/O多路復用的介紹 多進程/多線程模型的弊端 網絡多路復用如何解決問題&#xff1f; 網絡多路復用的常見實現方式 常見的開源網絡庫 select詳細介紹 select函數介紹 套接字可讀事件,可寫事件,異常事件 fd_set類型介紹 select的兩次拷貝&#xff0c;兩次遍歷 se…

最終分配算法【論文材料】

文章目錄一、最終分配算法1.1 平衡的情況1.2 不平衡的情況1.3 TDM 約束一、最終分配算法 上一步合法化后&#xff0c;group 的 TDM 情況大致分為兩類&#xff0c;一類是平衡的&#xff0c;最大的一些 group 的 TDM 比較接近。另外一種情況就是不平衡的&#xff0c;最大的 group…

《大數據技術原理與應用》實驗報告七 熟悉 Spark 初級編程實踐

目 錄 一、實驗目的 二、實驗環境 三、實驗內容與完成情況 3.1 Spark讀取文件系統的數據。 3.2 編寫獨立應用程序實現數據去重。 3.3 編寫獨立應用程序實現求平局值問題。 四、問題和解決方法 五、心得體會 一、實驗目的 1. 掌握使用 Spark 訪問本地文件和 HDFS 文件的…

機器學習漫畫小抄 - 彩圖版

斯坦福機器學習漫畫小抄&#xff0c;中文版來啦&#xff01; 下載地址&#xff1a; 通過網盤分享的文件&#xff1a;機器學習知識點彩圖版.pdf 鏈接: https://pan.baidu.com/s/1-fH9OpC_u_OrTqWy6gVUCA 提取碼: 246r

1.初始化

業務模塊核心技術棧業務&#xff08;亮點&#xff09;解決方案課程安排01 認識Vue3為什么需要學Vue3?Vue3組合式API體驗Vue3更多的優勢2 使用create-vue搭建Vue3項目認識 create-vue使用create-vue創建項目3 熟悉項目目錄和關鍵文件項目目錄和關鍵文件4 組合式API - setup選項…

Milvus分布式數據庫工作職責

主導騰訊云Milvus服務化項目&#xff0c;設計多租戶隔離方案&#xff0c;支撐日均10億向量請求&#xff0c;延遲降低40%。優化IVF_PQ索引構建流程&#xff0c;通過量化編碼壓縮使內存占用減少60%&#xff0c;QPS提升35%。開發基于Kubernetes的Milvus Operator&#xff0c;實現自…

FMEA-CP-PFD三位一體數字化閉環:汽車部件質量管控的速效引擎

FMEA-CP-PFD三位一體數字化閉環&#xff1a;汽車部件質量管控的速效引擎 全星FMEA軟件系統通過??FMEA&#xff08;失效模式分析&#xff09;、CP&#xff08;控制計劃&#xff09;、PFD&#xff08;過程流程圖&#xff09;三大工具的一體化協同管理??&#xff0c;為汽車部件…

VUE2 學習筆記1

目錄 VUE特點 文檔tips 開發者工具 從一個Hello world開始 hello world Demo 容器和實例的對應關系 差值語法{{}} VUE特點 構建用戶界面&#xff1a;可以用來把數據構建成用戶界面。 漸進式&#xff1a;自底向上&#xff0c;可以先從一個非常輕量級的框架開始&#xf…

嵌入式學習系統編程(四)進程

目錄 一、進程 1.程序和進程 2.進程的八種狀態 3. 幾個狀態 4.關于進程常用命令 二、關于進程的函數 1.fork 2.面問 3.孤兒進程 后臺進程 2. exec函數族 (只保留父子關系&#xff0c;做新的事情) strtok函數 三、進程的結束 1.分類 exit和_exit的區別 wait函數…

Linux中添加重定向(Redirection)功能到minishell

前言&#xff1a;在談論添加minishell之前&#xff0c;我再重談一下重定向的具體實現等大概思想&#xff01;&#xff01;&#xff01;方便自己回顧&#xff01;&#xff01;&#xff01; 目錄 一、重定向&#xff08;Redirection&#xff09;原理詳解 1、文件描述符基礎 2、…