add: vue-press

This commit is contained in:
liyulin 2023-03-22 22:40:24 +08:00
parent 8a39fffdcc
commit 12d435285e
13 changed files with 40 additions and 168 deletions

143
README.md
View File

@ -1,8 +1,8 @@
# vue-office
支持多种文件(docx、pdf、excel)预览的vue组件套装支持vue2/3。
支持多种文件(**docx、excel、pdf**)预览的vue组件库支持vue2/3。
[查看demo演示](https://501351981.github.io/vue-office/examples/dist/)
[《演示效果》](https://501351981.github.io/vue-office/examples/dist/)
## 功能特色
- 一站式提供docx、pdf、excel多种文档的在线预览方案有它就够了
@ -30,7 +30,7 @@ npm install @vue/composition-api/
- 有文档网络地址,比如 https://***.docx
- 文件上传时预览此时可以获取文件的ArrayBuffer或Blob
### docx文档的预览
### docx文档的预览为例
**使用网络地址预览**
```vue
<template>
@ -67,46 +67,7 @@ export default {
**上传文件预览**
我们使用element的上传组件作为示例当然也可以使用普通的input type="file"只要能获取文件的arrayBuffer即可
```vue
<template>
<div id="docx-demo">
<el-upload :limit="1" :file-list="fileList" accept=".docx" :beforeUpload="beforeUpload" action="">
<el-button size="small" type="warning">点击上传</el-button>
</el-upload>
<vue-office-docx :src="src" />
</div>
</template>
<script>
import VueOfficeDocx from '@vue-office/docx'
import '@vue-office/docx/lib/index.css'
export default {
components: {
VueOfficeDocx
},
data(){
return {
src:'',
fileList:[]
}
},
methods:{
beforeUpload(file){
let reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = (loadEvent) => {
let arrayBuffer = loadEvent.target.result;
this.src = arrayBuffer
};
return false
}
}
}
</script>
```
如果是原生的input type="file",也是类似的
读取文件的ArrayBuffer
```vue
<template>
<div>
@ -142,98 +103,8 @@ export default {
</script>
```
### excel文档预览
```vue
<template>
<vue-office-excel :src="excel" @rendered="rendered"/>
</template>
<script>
//引入VueOfficeExcel组件
import VueOfficeExcel from '@vue-office/excel'
//引入相关样式
import '@vue-office/excel/lib/index.css'
export default {
components:{
VueOfficeExcel
},
data(){
return {
excel: 'http://static.shanhuxueyuan.com/demo/excel.xlsx'//设置文档地址
}
},
methods:{
rendered(){
console.log("渲染完成")
}
}
}
</script>
```
### pdf文档预览
```vue
<template>
<vue-office-pdf :src="pdf" @rendered="rendered"/>
</template>
<script>
//引入VueOfficePdf组件
import VueOfficePdf from '@vue-office/pdf'
export default {
components:{
VueOfficePdf
},
data(){
return {
pdf: 'http://static.shanhuxueyuan.com/test.pdf' //设置文档地址
}
},
methods:{
rendered(){
console.log("渲染完成")
}
}
}
</script>
```
excel和pdf也同样支持通过文件上传进行预览代码和docx的预览一样。
## API
为了使用简单这几种组件的API尽量保持一致如果是某个组件特有的会单独注明
### 属性
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|-----------------|--------------------------------------------|---------------------------|----------------|-----|
| src | 文档地址 | String, ArrayBuffer, Blob | - | - |
| request-options | 请求参数对应window.fetch的请求参数可以用来设置header等请求信息 | Object | 参考window.fetch | {} |
### 事件
| 事件名 | 说明 | 参数 |
|----------|-----------------------------|-----------|
| rendered | 首次渲染完成及每次src变化之后渲染完成都会触发该事件 | |
| error | 各种失败,包括网络请求失败,渲染失败等 | errorInfo |
## 交流反馈
### 提Issue
如果您遇到了问题欢迎提Issue同时请您尽可能详细的描述您遇到的问题包括不限于
- 您使用的是哪个库: @vue-office/docx、@vue-office/excel、@vue-office/pdf
- 您使用的环境APP or WebPC or 移动端,如果是浏览器兼容问题,请提供您的浏览器版本
- 如果有错误,请粘贴详细的报错信息
详细的描述有助于我尽快定位问题,因为平时工作很忙,时间很有限,感谢理解
excel和pdf的预览和docx预览基本一致详见
[《使用指南》](https://501351981.github.io/vue-office/examples/docs/guide/)
### 赞助和微信交流
@ -241,4 +112,4 @@ excel和pdf也同样支持通过文件上传进行预览代码和docx的
<img src="https://501351981.github.io/vue-office/examples/public/static/wx.png" alt="赞助二维码" width="260"/>
### 恳请各位大佬不吝点赞,开源不易,感谢过往各位大佬的支持~~
**恳请各位大佬不吝点赞,开源不易,感谢支持~~**

View File

@ -9,7 +9,8 @@ export default defineConfig({
// https://vitepress.dev/reference/default-theme-config
nav: [
{ text: '指南', link: '/guide/' },
{ text: '配置参考', link: '/config/' }
{ text: '配置参考', link: '/config/' },
{ text: '演示预览效果', link: 'https://501351981.github.io/vue-office/examples/dist/' }
],
outlineTitle:'跳转到',
docFooter: {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"config_event.md":"d08100fe","guide_preview-pdf.md":"1182152d","config_index.md":"c35b64bb","guide_contact.md":"ced9e44d","guide_index.md":"425949a3","guide_preview-xlsx.md":"2a8a4b68","index.md":"fb9fee08","guide_preview-docx.md":"5e6e0ada","guide_faq.md":"c3bde33b"}
{"guide_contact.md":"ced9e44d","config_event.md":"d08100fe","guide_preview-docx.md":"5e6e0ada","guide_preview-pdf.md":"1182152d","config_index.md":"c35b64bb","index.md":"fb9fee08","guide_preview-xlsx.md":"2a8a4b68","guide_index.md":"425949a3","guide_faq.md":"c3bde33b"}

File diff suppressed because one or more lines are too long