vue-office 支持預覽多種文件(docx、excel、pdf、pptx)預覽的vue組件庫

官網地址:https://github.com/501351981/vue-office?

支持多種文件(docx、excel、pdf、pptx)預覽的vue組件庫,支持vue2/3。也支持非Vue框架的預覽。

1.在線預覽word文件(以及本地上傳預覽)

????????1.1:下載組件庫
npm install @vue-office/docx vue-demi@0.14.6
? ? ? ? 1.2:頁面使用
<template><div><!-- 在線word預覽 --><!-- 本地文件上傳預覽 --><input type="file" @change="changeHandle" /><vue-office-docx :src="docx" class="wordOffce" @rendered="rendered" /></div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
//引入VueOfficeDocx組件
import VueOfficeDocx from '@vue-office/docx'
//引入相關樣式
import '@vue-office/docx/lib/index.css';let docx = ref<any>('http://static.shanhuxueyuan.com/test6.docx');
let rendered = () => {console.log("渲染完成")
}
// 本地文件上傳預覽
let changeHandle = (event: any) => {let file = event.target.files[0]let fileReader = new FileReader()fileReader.readAsArrayBuffer(file)fileReader.onload = () => {docx.value = fileReader.result;}
}
</script>
<style lang="less" scoped>
.wordOffce {height: 80vh !important;:deep(.docx-wrapper) {background-color: #fff !important;}
}
</style>

2.?在線預覽PDF文件(以及本地上傳預覽)

? ? ? ? ?2.1:下載組件庫
npm install @vue-office/pdf vue-demi@0.14.6
? ? ? ? 2.2:?頁面使用
<template><div><!-- 在線pdf預覽 --><!-- 本地文件上傳預覽 --><input type="file" @change="changeHandle" /><vue-office-pdf :src="pdf" class="wordOffce" @rendered="renderedHandler" @error="errorHandler" /></div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
//引入VueOfficeDocx組件
import VueOfficePdf from '@vue-office/pdf'let pdf = ref<any>('http://static.shanhuxueyuan.com/test.pdf');
let renderedHandler = () => {console.log("渲染完成")
}
let errorHandler = () => {console.log("渲染失敗")
}
// 本地文件上傳預覽
let changeHandle = (event: any) => {let file = event.target.files[0]let fileReader = new FileReader()fileReader.readAsArrayBuffer(file)fileReader.onload = () => {pdf.value = fileReader.result;}
}
</script>
<style lang="less" scoped>
.wordOffce {height: 80vh !important;box-shadow: 0px 0px 5px 27px rgba(0, 0, 0, 0.75);-webkit-box-shadow: 0px 0px 5px 27px rgba(0, 0, 0, 0.75);-moz-box-shadow: 0px 0px 5px 27px rgba(0, 0, 0, 0.75);:deep(.vue-office-pdf-wrapper) {background-color: #fff !important;}
}
</style>

3.?在線預覽Excel文件(以及本地上傳預覽)

? ? ? ? 3.1:下載組件庫
npm install @vue-office/excel vue-demi@0.14.6
? ? ? ? 3.2:頁面使用
<template><div><!-- 在線pdf預覽 --><!-- 本地文件上傳預覽 --><input type="file" @change="changeHandle" /><vue-office-excel :src="excel" class="wordOffce" @rendered="renderedHandler" @error="errorHandler" /></div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
//引入VueOfficeDocx組件
import VueOfficeExcel from '@vue-office/excel'
import '@vue-office/excel/lib/index.css'let excel = ref<any>('http://static.shanhuxueyuan.com/demo/excel.xlsx');
let renderedHandler = () => {console.log("渲染完成")
}
let errorHandler = () => {console.log("渲染失敗")
}
// 本地文件上傳預覽
let changeHandle = (event: any) => {let file = event.target.files[0]let fileReader = new FileReader()fileReader.readAsArrayBuffer(file)fileReader.onload = () => {excel.value = fileReader.result;}
}
</script>
<style lang="less" scoped>
.wordOffce {height: 80vh !important;
}
</style>

4.?在線預覽pptx文件(以及本地上傳預覽)

? ? ? ? 4.1:下載組件庫
npm install @vue-office/pptx vue-demi@0.14.6
????????4.2:頁面使用?
<template><div><!-- 在線pdf預覽 --><!-- 本地文件上傳預覽 --><input type="file" @change="changeHandle" /><vue-office-pptx :src="pptx" class="wordOffce" @rendered="renderedHandler" @error="errorHandler" /></div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
//引入VueOfficeDocx組件
import VueOfficePptx from '@vue-office/pptx'let pptx = ref<any>('http://static.shanhuxueyuan.com/test.pptx');
let renderedHandler = () => {console.log("渲染完成")
}
let errorHandler = () => {console.log("渲染失敗")
}
// 本地文件上傳預覽
let changeHandle = (event: any) => {let file = event.target.files[0]let fileReader = new FileReader()fileReader.readAsArrayBuffer(file)fileReader.onload = () => {pptx.value = fileReader.result;}
}
</script>
<style lang="less" scoped>
.wordOffce {height: 80vh !important;
}
</style>
?

????????

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

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

相關文章

【trino】trino配置證書https tls/ssl訪問

trini版本470 一、官方文檔 doc 在Security/TLS and HTTPS、Security/PEM files和Security/JKS files下 openssl文檔 二、配置trino 2.1 創建server.cnf文件 [ req ] distinguished_name req_distinguished_name req_extensions v3_req[ req_distinguished_name ] coun…

ZCC8702,LED驅動芯片的“六邊形戰士”可替代SY8707

在LED照明的璀璨舞臺上&#xff0c;驅動芯片猶如幕后英雄&#xff0c;默默掌控著燈光的閃耀與變幻。ZCC8702作為一款集大成的LED驅動芯片&#xff0c;憑借其卓越的性能、廣泛的應用范圍和出色的穩定性&#xff0c;成為了這個領域中當之無愧的“六邊形戰士”。今天&#xff0c;就…

Vue 數據傳遞流程圖指南

今天&#xff0c;我們探討一下 Vue 中的組件傳值問題。這不僅是我們在日常開發中經常遇到的核心問題&#xff0c;也是面試過程中經常被問到的重要知識點。無論你是初學者還是有一定經驗的開發者&#xff0c;掌握這些傳值方式都將幫助你更高效地構建和維護 Vue 應用 目錄 1. 父…

Git Restore 命令詳解與實用示例

文章目錄 Git Restore 命令詳解與實用示例1. 恢復工作區文件到最后一次提交的狀態基本命令示例恢復所有更改 2. 恢復某個文件到特定提交的狀態基本命令示例 3. 恢復暫存區的文件基本命令示例恢復所有暫存的文件 git restore 的常見選項git restore 與 git checkout 比較總結 Gi…

AI 防口誤指南_LLM 輸出安全實踐

在數字化轉型的浪潮中&#xff0c;大語言模型(以下統稱LLM)已成為企業技術棧中不可或缺的智能組件&#xff0c;這種強大的AI技術同時也帶來了前所未有的安全挑戰。它輸出的內容如同雙面刃&#xff0c;一面閃耀著效率與創新的光芒&#xff0c;另一面卻隱藏著"幻覺"與不…

程序化廣告行業(55/89):DMP與DSP對接及數據統計原理剖析

程序化廣告行業&#xff08;55/89&#xff09;&#xff1a;DMP與DSP對接及數據統計原理剖析 大家好呀&#xff01;在數字化營銷的大趨勢下&#xff0c;程序化廣告已經成為眾多企業實現精準營銷的關鍵手段。上一篇博客我們一起學習了程序化廣告中的人群標簽和Look Alike原理等知…

運維之 Centos7 防火墻(CentOS 7 Firewall for Operations and Maintenance)

運維之 Centos7 防火墻 1.介紹 Linux CentOS 7 防火墻/端口設置&#xff1a; 基礎概念&#xff1a; 防火墻是一種網絡安全設備&#xff0c;用于監控和控制網絡流量&#xff0c;以保護計算機系統免受未經授權的訪問和惡意攻擊。Linux CentOS 7操作系統自帶了一個名為iptables的…

第十五屆藍橋杯大賽軟件賽省賽Python 大學 C 組題目試做(下)【本期題目:砍柴,回文字符串】

okk&#xff0c;大伙&#xff0c;這一期我們就把C組的題目刷完。 本期題目&#xff1a;砍柴&#xff0c;回文字符串 文章目錄 砍柴題目思路分析舉個栗子思路總結 代碼 回文字符串題目思路分析代碼 感謝大伙觀看&#xff0c;別忘了三連支持一下大家也可以關注一下我的其它專欄&a…

Design Compiler:庫特征分析(ALIB)

相關閱讀 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 簡介 在使用Design Compiler時&#xff0c;可以對目標邏輯庫進行特征分析&#xff0c;并創建一個稱為ALIB的偽庫&#xff08;可以被認為是緩存&#xff09;&…

MySQL索引原理:從B+樹手繪到EXPLAIN

最近在學后端&#xff0c;學到了這里做個記錄 一、為什么索引像書的目錄&#xff1f; 類比&#xff1a;500頁的技術書籍 vs 10頁的目錄缺點&#xff1a;全表掃描就像逐頁翻找內容優點&#xff1a;索引將查詢速度從O(n)提升到O(log n) 二、B樹手繪課堂 1. 結構解剖&#xff0…

全連接RNN反向傳播梯度計算

全連接RNN反向傳播梯度計算 RNN數學表達式BPTT(隨時間的反向傳播算法)參數關系網絡圖L對V的梯度L對U的梯度L對W和b的梯度 RNN數學表達式 BPTT(隨時間的反向傳播算法) 參數關系網絡圖 L對V的梯度 L對U的梯度 L對W和b的梯度

C++高效讀取大規模文本格式點云(windows)

需使用VS2017及以上版本&#xff0c;C語言標準選擇C17&#xff0c;支持OpenMP。 執行效率明顯優于ifstream stof。 // 點云數據結構 struct PointXYZ {std::array<float, 3> coord; };float string_to_float_fast(const std::string& str) {float value;auto [p…

【Linux】進程信號的捕捉處理

個人主頁~ 進程信號的捕捉處理 一、信號捕捉處理的概述1、信號捕捉處理全過程2、用戶態和內核態的區別&#xff08;一&#xff09;用戶態&#xff08;二&#xff09;內核態&#xff08;三&#xff09;用戶態與內核態的切換&#xff08;四&#xff09;硬件條件 二、再談進程地址…

Nyquist內置函數-概述

1 Nyquist內置函數-概述 本章提供奈奎斯特&#xff08;Nyquist&#xff09;語言參考。操作按功能和抽象級別分類。奈奎斯特在兩個重要級別上實現&#xff1a;“高級”級別支持行為抽象&#xff0c;這意味著像 stretch 和 at 這樣的操作可以應用。這些函數是典型用戶期望使用的…

數據驅動防災:AI 大模型在地質災害應急決策中的關鍵作用。基于DeepSeek/ChatGPT的AI智能體開發

全球氣候變化加劇了滑坡、泥石流等地質災害的發生頻率與不確定性&#xff0c;傳統基于統計與物理模型的預測方法常受限于?數據稀疏性?與?動態耦合復雜性?。近年來&#xff0c;AI智能體&#xff08;AI Agents&#xff09;與大型語言模型&#xff08;LLMs&#xff09;的突破為…

光譜相機在工業中的應用

光譜相機&#xff08;多光譜、高光譜、超光譜成像技術&#xff09;在工業領域通過捕捉物質的光譜特征&#xff08;反射、透射、輻射等&#xff09;&#xff0c;結合化學計量學與人工智能算法&#xff0c;為工業檢測、質量控制和工藝優化提供高精度、非接觸式的解決方案。以下是…

Dify工作流中如何去除deepseek-r1思考內容

在工作流中deepseek-r1的think標簽內部的內容&#xff0c;很容易讓工作流其他的llm產生幻覺&#xff0c;導致不能良好的生成目標效果。 我們通過代碼的方式讓deepseek-r1既有think思考鏈的效果&#xff0c;又不傳遞思考鏈。 工作流的邏輯為上圖 去除think中的代碼為 import re…

容器的CPU

1、限制進程的CPU 通過Cgroup來限制進程資源的使用&#xff0c;CPU Cgroup 是 Cgroups 其中的一個 Cgroups 子系統&#xff0c;它是用來限制進程的 CPU 使用的。 cpu.cfs_period_us&#xff0c;它是 CFS 算法的一個調度周期&#xff0c;一般它的值是 100000&#xff0c;以 mic…

【系統分析師-第二篇】

學習目標 通過參加考試&#xff0c;訓練學習能力&#xff0c;而非單純以拿證為目的。 1.在復習過程中&#xff0c;訓練快速閱讀能力、掌握三遍讀書法、運用番茄工作法。 2.從底層邏輯角度理解知識點&#xff0c;避免死記硬背。 3.通過考試驗證學習效果。 學習方法 第二遍快速…

【再探圖論】深入理解圖論經典算法

一、bellman_ford 1. 是什么松弛 在《算法四》中&#xff0c;對松弛的解釋是&#xff1a;relax the edge&#xff0c;看起來比較抽象&#xff0c;不過如果我們從生活中的實例去理解&#xff0c;就簡單多了&#xff1a; 試想一根繩索&#xff0c;當你握著繩索的兩頭使勁用力拉…