Compare commits

...

11 Commits

Author SHA1 Message Date
liyulin
3f7e4c89c8 excel对indexed颜色的识别 2023-07-21 19:26:34 +08:00
liyulin
e94cde99fc 更新readme 2023-07-21 12:15:40 +08:00
liyulin
f76dd03689 更新readme 2023-07-21 12:11:57 +08:00
liyulin
c7df613225 excel列宽设置 2023-07-19 19:15:38 +08:00
liyulin
61bcc808c2 更新faq 2023-07-19 17:36:52 +08:00
liyulin
d5e1a0f493 更新faq 2023-07-19 17:36:26 +08:00
liyulin
ff975221ee 增加excel对宽度的支持,更新docx库 2023-07-19 17:18:54 +08:00
liyulin
4f25300857 增加excel对宽度的支持,更新docx库 2023-07-19 17:12:09 +08:00
liyulin
24d9f94506 docs:增加faq 2023-07-14 18:19:07 +08:00
liyulin
a46aaf6b4e fix: excel中超链接及公式错误预览bug 2023-07-14 10:13:58 +08:00
liyulin
b0262e1e15 fix: excel中超链接及公式错误预览bug 2023-07-14 10:05:03 +08:00
82 changed files with 1496 additions and 48 deletions

View File

@ -182,15 +182,16 @@ export default {
## 赞助和微信交流
**_如果该项目确实帮助到了您_**请您不吝赞助,请我喝杯蜜雪冰城交个朋友,微信:\_hit757_
**_如果该项目确实帮助到了您_**为您节省了时间,请您不吝赞助,优化项目真的都是用爱发电^_^,有很多大的优化点或者新功能开发实在没有精力,一边要努力工作以免被裁员,一边要陪伴家人,人已不再年轻,没有收益的事情很难抽出更多时间精力~~,不能打赏的朋友麻烦帮点个免费的赞,打赏的朋友欢迎添加微信,交流前端技术
<img src="https://501351981.github.io/vue-office/examples/dist/static/wx.png" alt="赞助二维码" width="260"/>
<img src="https://501351981.github.io/vue-office/examples/dist/static/wxqrcode.png" alt="个人微信" width="260"/>
打赏记录如下,感谢每一位打赏的朋友
| 时间 | 打赏总金额 |
|---------|-------|
| 2023-07 | 0 |
| 2023-07 | 43.84 |
| 2023-06 | 20.01 |
| 2023-05 | 70 |
| 2023-04 | 95 |

View File

@ -15,7 +15,7 @@
"@vue/compiler-sfc": "3.2.45",
"ant-design-vue": "^3.2.17",
"dayjs": "^1.11.7",
"docx-preview": "^0.1.14",
"docx-preview": "^0.1.18",
"exceljs": "^4.3.0",
"lodash": "^4.17.21",
"postcss": "^8.4.24",

View File

@ -1,7 +1,7 @@
{
"name": "@js-preview/docx",
"type" :"module",
"version": "1.2.0",
"version": "1.2.3",
"description": "",
"main": "lib/index.js",
"files": [

View File

@ -1,7 +1,7 @@
{
"name": "@js-preview/excel",
"type" :"module",
"version": "1.2.0",
"version": "1.2.5",
"description": "",
"main": "lib/index.js",
"files": [

View File

@ -3,7 +3,10 @@ import {getData, readExcelData, transferExcelToSpreadSheet} from '../../vue-exce
import {renderImage, clearCache} from '../../vue-excel/src/media';
import {readOnlyInput} from '../../vue-excel/src/hack';
import {debounce} from 'lodash';
import {download as downloadFile} from "../../../utils/url.js";
import {download as downloadFile} from '../../../utils/url.js';
const defaultOptions = {
minColLength: 20
};
class JsExcelPreview {
container = null;
wrapper = null;
@ -23,7 +26,7 @@ class JsExcelPreview {
constructor(container, options={}, requestOptions={}) {
this.container = container;
this.options = {minColLength: 20, ...options};
this.options = {...defaultOptions, ...options};
this.requestOptions = requestOptions;
this.createWrapper();
this.initSpreadsheet();

View File

@ -1,6 +1,6 @@
{
"name": "@vue-office/docx",
"version": "1.2.0",
"version": "1.2.3",
"description": "",
"main": "lib/index.js",
"files": [

View File

@ -1,6 +1,6 @@
{
"name": "@vue-office/excel",
"version": "1.2.0",
"version": "1.2.5",
"description": "",
"main": "lib/index.js",
"files": [

View File

@ -1,7 +1,7 @@
import * as Excel from 'exceljs/dist/exceljs';
import {getUrl} from '../../../utils/url';
import tinycolor from 'tinycolor2';
import _, {cloneDeep} from 'lodash';
import {cloneDeep, get, find} from 'lodash';
import {getDarkColor, getLightColor} from './color';
import dayjs from 'dayjs';
@ -18,7 +18,76 @@ const themeColor = [
'#71AD47'
];
const indexedColor = [
'#000000',
'#FFFFFF',
'#FF0000',
'#00FF00',
'#0000FF',
'#FFFF00',
'#FF00FF',
'#00FFFF',
'#000000',
'#FFFFFF',
'#FF0000',
'#00FF00',
'#0000FF',
'#FFFF00',
'#FF00FF',
'#00FFFF',
'#800000',
'#008000',
'#000080',
'#808000',
'#800080',
'#008080',
'#C0C0C0',
'#808080',
'#9999FF',
'#993366',
'#FFFFCC',
'#CCFFFF',
'#660066',
'#FF8080',
'#0066CC',
'#CCCCFF',
'#000080',
'#FF00FF',
'#FFFF00',
'#00FFFF',
'#800080',
'#800000',
'#008080',
'#0000FF',
'#00CCFF',
'#CCFFFF',
'#CCFFCC',
'#FFFF99',
'#99CCFF',
'#FF99CC',
'#CC99FF',
'#FFCC99',
'#3366FF',
'#33CCCC',
'#99CC00',
'#FFCC00',
'#FF9900',
'#FF6600',
'#666699',
'#969696',
'#003366',
'#339966',
'#003300',
'#333300',
'#993300',
'#993366',
'#333399',
'#333333',
'#FFFFFF'
];
let defaultColWidth = 80;
let defaultRowHeight = 24;
export function getData(src, options={}) {
return requestExcel(getUrl(src), options);
}
@ -60,13 +129,14 @@ export function readExcelData(buffer){
}
}
function transferColumns(excelSheet, spreadSheet, options){
for(let i = 0;i < (excelSheet.columns || []).length; i++){
spreadSheet.cols[i.toString()] = {};
if(excelSheet.columns[i].width) {
spreadSheet.cols[i.toString()].width = excelSheet.columns[i].width * 6;
spreadSheet.cols[i.toString()].width = excelSheet.columns[i].width * 6 + (options.widthOffset || 0);
} else {
spreadSheet.cols[i.toString()].width = defaultColWidth;
spreadSheet.cols[i.toString()].width = defaultColWidth + (options.widthOffset || 0);
}
}
@ -100,8 +170,10 @@ function getCellText(cell){
return dayjs(value).format('YYYY-MM-DD');
}
case 5: //超链接
return value.text;
case 6: //公式
return cell.result;
return get(value, 'result.error') || value.result;
case 8: //富文本
return cell.text;
default:
@ -150,6 +222,8 @@ function getStyle(cell){
backGroundColor = transferArgbColor(cell.style.fill.fgColor.argb);
}else if(cell.style.fill.fgColor.hasOwnProperty('theme')){
backGroundColor = transferThemeColor(cell.style.fill.fgColor.theme, cell.style.fill.fgColor.tint);
}else if(cell.style.fill.fgColor.indexed){
backGroundColor = indexedColor[cell.style.fill.fgColor.indexed] || '#C7C9CC';
}else{
backGroundColor = '#C7C9CC';
}
@ -169,7 +243,9 @@ function getStyle(cell){
fontColor = transferArgbColor(cell.style.font.color.argb);
}else if(cell.style.font.color.hasOwnProperty('theme')){
fontColor = transferThemeColor(cell.style.font.color.theme, cell.style.font.color.tint);
}else{
}else if(cell.style.font.color.indexed){
fontColor = indexedColor[cell.style.font.color.indexed] || '#000000';
}else {
fontColor = '#000000';
}
@ -204,6 +280,8 @@ function getStyle(cell){
bordColor = transferArgbColor(originBorder.color.argb);
}else if(originBorder.color.hasOwnProperty('theme')){
bordColor = transferThemeColor(originBorder.color.theme, originBorder.color.tint);
}else if(originBorder.color.indexed){
bordColor = indexedColor[originBorder.color.indexed];
}
}
styleBorder[position] = [originBorder.style || 'thin', bordColor];
@ -217,7 +295,7 @@ function getStyle(cell){
export function transferExcelToSpreadSheet(workbook, options){
let workbookData = [];
//console.log(workbook, 'workbook')
// console.log(workbook, 'workbook')
workbook.eachSheet((sheet) => {
//console.log(sheet,'sheet');
// 构造x-data-spreadsheet 的 sheet 数据源结构
@ -244,13 +322,15 @@ export function transferExcelToSpreadSheet(workbook, options){
sheetData.rows[spreadSheetRowIndex] = { cells: {} };
if(row.height){
sheetData.rows[spreadSheetRowIndex].height = row.height;
sheetData.rows[spreadSheetRowIndex].height = row.height + (options.heightOffset || 0);
}else{
sheetData.rows[spreadSheetRowIndex].height = defaultRowHeight + (options.heightOffset || 0);
}
//includeEmpty = false 不包含空白单元格
(row._cells || []).forEach((cell, spreadSheetColIndex) =>{
sheetData.rows[spreadSheetRowIndex].cells[spreadSheetColIndex] = {};
let mergeAddress = _.find(mergeAddressData, function(o) { return o.startAddress == cell._address; });
let mergeAddress = find(mergeAddressData, function(o) { return o.startAddress == cell._address; });
if(mergeAddress && cell.master.address != mergeAddress.startAddress) {
return;
}
@ -268,7 +348,7 @@ export function transferExcelToSpreadSheet(workbook, options){
sheetData.rows.len = Math.max(Object.keys(sheetData.rows).length, 100);
workbookData.push(sheetData);
});
//console.log(workbookData, 'workbookData')
// console.log(workbookData, 'workbookData')
return {
workbookData,
workbookSource: workbook,

View File

@ -7,6 +7,9 @@ import {readOnlyInput} from './hack';
import {debounce} from 'lodash';
import {download as downloadFile} from '../../../utils/url';
const defaultOptions = {
minColLength: 20
};
export default defineComponent({
name: 'VueOfficeExcel',
props: {
@ -18,7 +21,7 @@ export default defineComponent({
options: {
type: Object,
default: () => ({
minColLength: 20
...defaultOptions
})
}
},
@ -42,7 +45,7 @@ export default defineComponent({
if (!workbook._worksheets || workbook._worksheets.length === 0) {
throw new Error('未获取到数据,可能文件格式不正确或文件已损坏');
}
const {workbookData, medias, workbookSource} = transferExcelToSpreadSheet(workbook, props.options);
const {workbookData, medias, workbookSource} = transferExcelToSpreadSheet(workbook, {...defaultOptions, ...props.options});
mediasSource = medias;
workbookDataSource = workbookSource;
offset = null;

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

View File

@ -10,7 +10,9 @@ import jsExcel from '../../packages/js-excel/index';
import '../../packages/js-excel/index.css';
const dom = ref(null);
onMounted(() => {
window.myExcelPreview = jsExcel.init(dom.value);
window.myExcelPreview = jsExcel.init(dom.value, {
});
window.myExcelPreview.preview('/vue-office/examples/dist/static/test-files/test.xlsx').then(_=>{
// window.myExcelPreview.download();
console.log('excel preview done', window.myExcelPreview);

View File

@ -24,9 +24,15 @@ excel相关的配置目前支持配置项很少。
minColLength: excel最少渲染多少列如果想实现xlsx文件内容有几列就渲染几列可以将此值设置为0.
```json
widthOffset在默认渲染的列表宽度上再加10px宽
heightOffset在默认渲染的列表高度上再加10px高
```javascript
{
"minColLength": 20
"minColLength": 20,
"widthOffset": 0, //在默认渲染的列表宽度上再加10px宽
"heightOffset": 0, //在默认渲染的列表高度上再加10px高
}
```

View File

@ -64,3 +64,40 @@ app.listen(3000);
- 检查文件是否返回成功,是否存在跨域
- 目前不支持doc、xls格式文件的预览
- 可以看看@error事件,抛出了什么错误信息
## **.defineComponent is not a function
出现这个问题一般是通过CDN的方式加载了vue.js文件且CDN中的vue版本和开发环境安装的vue版本不一致。
- 问题确认
检查CDN中vue.js的版本 和 node_modules下的vue版本是否一致。
首先在项目的html中查看引入的vue.js文件路径然后根据路径找的这个vue.js文件查看其版本
然后查看node_modules中安装的vue版本**注意**是在node_modules目录下找到vue安装文件然后查看其版本而不是package.json中的vue版本。
看看两个地方的vue版本是不是不一致不一致往下看。
- 出现原因
package.json中vue版本不是指定的固定版本而是在版本前面带"^"或"~"符号,这里的含义是使用符合条件的新版本,而不是看到的这个版本。
```json
{
"vue": "^2.6.10"
}
```
- 解决方法
修改package.json中 vue 和 vue-template-compiler的版本将版本前面的"^"或"~"符号去掉具体版本号和CDN中的vue版本保持一致。
```json
{
"vue": "2.6.10",
"vue-template-compiler": "2.6.10"
}
```
删除 package-lock.json 文件 和 node_modules中的全部包。
重新安装所有依赖,然后运行查看效果。

View File

@ -0,0 +1 @@
import{d as r}from"./docx-fe694a97.js";import{d as x}from"./url-de9b02cf.js";import{d as m,_ as l,r as u,o as h,w as g,a as _,c as v,b as D,e as y,f as w,g as B,u as $}from"./index-afb4c379.js";import{P as O,u as f}from"./PreviewWrapper-0a805bfd.js";import"./_commonjs-dynamic-modules-302442b1.js";const R=m({name:"VueOfficeDocx",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:o}){const t=u(null);let n=null;function a(){let c=t.value;r.getData(e.src,e.requestOptions).then(async d=>{n=await r.getBlob(d),r.render(n,c,e.options).then(()=>{o("rendered")}).catch(p=>{r.render("",c,e.options),o("error",p)})}).catch(d=>{r.render("",c,e.options),o("error",d)})}h(()=>{e.src&&a()}),g(()=>e.src,()=>{e.src?a():r.render("",t.value,e.options).then(()=>{o("rendered")})});function s(c){x(c||`vue-office-docx-${new Date().getTime()}.docx`,n)}return{rootRef:t,download:s}}}),b={class:"vue-office-docx"},k={class:"vue-office-docx-main",ref:"rootRef"};function V(e,o,t,n,a,s){return _(),v("div",b,[D("div",k,null,512)])}const i=l(R,[["render",V]]);i.install=function(e){e.component(i.name,i)};const E={__name:"DocxDemo",setup(e){function o(){f.hideLoading()}function t(s){console.log("出差",s),f.hideLoading()}const n=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.docx",a=u();return(s,c)=>(_(),y(O,{accept:".docx",placeholder:"请输入docx文件地址","default-src":n},{default:w(d=>[B($(i),{ref_key:"docxRef",ref:a,src:d.src,style:{flex:"1",height:"0"},onRendered:o,onError:t},null,8,["src"])]),_:1}))}},P=l(E,[["__scopeId","data-v-637d9a60"]]);export{P as default};

View File

@ -0,0 +1 @@
import{d as r}from"./docx-c898b5e2.js";import{d as x}from"./url-de9b02cf.js";import{d as m,_ as l,r as u,o as h,w as g,a as _,c as v,b as D,e as y,f as w,g as B,u as $}from"./index-251ad64b.js";import{P as O,u as f}from"./PreviewWrapper-e86688ff.js";import"./_commonjs-dynamic-modules-302442b1.js";const R=m({name:"VueOfficeDocx",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:o}){const t=u(null);let n=null;function a(){let c=t.value;r.getData(e.src,e.requestOptions).then(async d=>{n=await r.getBlob(d),r.render(n,c,e.options).then(()=>{o("rendered")}).catch(p=>{r.render("",c,e.options),o("error",p)})}).catch(d=>{r.render("",c,e.options),o("error",d)})}h(()=>{e.src&&a()}),g(()=>e.src,()=>{e.src?a():r.render("",t.value,e.options).then(()=>{o("rendered")})});function s(c){x(c||`vue-office-docx-${new Date().getTime()}.docx`,n)}return{rootRef:t,download:s}}}),b={class:"vue-office-docx"},k={class:"vue-office-docx-main",ref:"rootRef"};function V(e,o,t,n,a,s){return _(),v("div",b,[D("div",k,null,512)])}const i=l(R,[["render",V]]);i.install=function(e){e.component(i.name,i)};const E={__name:"DocxDemo",setup(e){function o(){f.hideLoading()}function t(s){console.log("出差",s),f.hideLoading()}const n=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.docx",a=u();return(s,c)=>(_(),y(O,{accept:".docx",placeholder:"请输入docx文件地址","default-src":n},{default:w(d=>[B($(i),{ref_key:"docxRef",ref:a,src:d.src,style:{flex:"1",height:"0"},onRendered:o,onError:t},null,8,["src"])]),_:1}))}},P=l(E,[["__scopeId","data-v-637d9a60"]]);export{P as default};

View File

@ -0,0 +1 @@
import{d as r}from"./docx-40967bb8.js";import{d as x}from"./url-de9b02cf.js";import{d as m,_ as l,r as u,o as h,w as g,a as _,c as v,b as D,e as y,f as w,g as B,u as $}from"./index-0ea73789.js";import{P as O,u as f}from"./PreviewWrapper-f4f144b8.js";import"./_commonjs-dynamic-modules-302442b1.js";const R=m({name:"VueOfficeDocx",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:o}){const t=u(null);let n=null;function a(){let c=t.value;r.getData(e.src,e.requestOptions).then(async d=>{n=await r.getBlob(d),r.render(n,c,e.options).then(()=>{o("rendered")}).catch(p=>{r.render("",c,e.options),o("error",p)})}).catch(d=>{r.render("",c,e.options),o("error",d)})}h(()=>{e.src&&a()}),g(()=>e.src,()=>{e.src?a():r.render("",t.value,e.options).then(()=>{o("rendered")})});function s(c){x(c||`vue-office-docx-${new Date().getTime()}.docx`,n)}return{rootRef:t,download:s}}}),b={class:"vue-office-docx"},k={class:"vue-office-docx-main",ref:"rootRef"};function V(e,o,t,n,a,s){return _(),v("div",b,[D("div",k,null,512)])}const i=l(R,[["render",V]]);i.install=function(e){e.component(i.name,i)};const E={__name:"DocxDemo",setup(e){function o(){f.hideLoading()}function t(s){console.log("出差",s),f.hideLoading()}const n=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.docx",a=u();return(s,c)=>(_(),y(O,{accept:".docx",placeholder:"请输入docx文件地址","default-src":n},{default:w(d=>[B($(i),{ref_key:"docxRef",ref:a,src:d.src,style:{flex:"1",height:"0"},onRendered:o,onError:t},null,8,["src"])]),_:1}))}},P=l(E,[["__scopeId","data-v-637d9a60"]]);export{P as default};

View File

@ -0,0 +1 @@
import{d as r}from"./docx-a2ba3329.js";import{d as x}from"./url-de9b02cf.js";import{d as m,_ as l,r as u,o as h,w as g,a as _,c as v,b as D,e as y,f as w,g as B,u as $}from"./index-50d431e6.js";import{P as O,u as f}from"./PreviewWrapper-97fd9bf3.js";import"./_commonjs-dynamic-modules-302442b1.js";const R=m({name:"VueOfficeDocx",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:o}){const t=u(null);let n=null;function a(){let c=t.value;r.getData(e.src,e.requestOptions).then(async d=>{n=await r.getBlob(d),r.render(n,c,e.options).then(()=>{o("rendered")}).catch(p=>{r.render("",c,e.options),o("error",p)})}).catch(d=>{r.render("",c,e.options),o("error",d)})}h(()=>{e.src&&a()}),g(()=>e.src,()=>{e.src?a():r.render("",t.value,e.options).then(()=>{o("rendered")})});function s(c){x(c||`vue-office-docx-${new Date().getTime()}.docx`,n)}return{rootRef:t,download:s}}}),b={class:"vue-office-docx"},k={class:"vue-office-docx-main",ref:"rootRef"};function V(e,o,t,n,a,s){return _(),v("div",b,[D("div",k,null,512)])}const i=l(R,[["render",V]]);i.install=function(e){e.component(i.name,i)};const E={__name:"DocxDemo",setup(e){function o(){f.hideLoading()}function t(s){console.log("出差",s),f.hideLoading()}const n=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.docx",a=u();return(s,c)=>(_(),y(O,{accept:".docx",placeholder:"请输入docx文件地址","default-src":n},{default:w(d=>[B($(i),{ref_key:"docxRef",ref:a,src:d.src,style:{flex:"1",height:"0"},onRendered:o,onError:t},null,8,["src"])]),_:1}))}},P=l(E,[["__scopeId","data-v-637d9a60"]]);export{P as default};

View File

@ -0,0 +1 @@
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}.operate-area[data-v-637d9a60]{display:flex;margin:10px;align-items:center}

View File

@ -0,0 +1 @@
import{l as R,r as B,S as $,a as h,g as k,b as T,t as L,c as D}from"./hack-264edb38.js";import{d as q}from"./url-de9b02cf.js";import{d as F,_ as V,r as p,o as W,n as j,h as I,w as M,a as S,c as N,b as P,i as A,e as H,f as U,j as z,g as G,u as J}from"./index-0ea73789.js";import{P as K,u as O}from"./PreviewWrapper-f4f144b8.js";import"./_commonjs-dynamic-modules-302442b1.js";const E={minColLength:20},Q=F({name:"VueOfficeExcel",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({...E})}},emits:["rendered","error"],setup(t,{emit:i}){const n=p(null),s=p(null);let r={_worksheets:[]},a=[],d=1,u=null,e=null,f=null,m=null;function _(c){m=c,T(c).then(l=>{if(!l._worksheets||l._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:x,medias:g,workbookSource:o}=L(l,{...E,...t.options});a=g,r=o,f=null,d=1,D(),e.loadData(x),h(u,a,r._worksheets[d],f),i("rendered")}).catch(l=>{console.warn(l),a=[],r={_worksheets:[]},D(),e.loadData({}),i("error",l)})}const v=R.debounce(B,200).bind(this,s.value),b=new MutationObserver(v),y={attributes:!0,childList:!0,subtree:!0};W(()=>{j(()=>{b.observe(s.value,y),v(s),window.xs=e=new $(s.value,{mode:"read",showToolbar:!1,showContextmenu:t.options.showContextmenu||!1,view:{height:()=>n.value&&n.value.clientHeight||300,width:()=>n.value&&n.value.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let c=e.bottombar.swapFunc;e.bottombar.swapFunc=function(o){c.call(e.bottombar,o),d=o+1,setTimeout(()=>{e.reRender(),h(u,a,r._worksheets[d],f)})};let l=e.sheet.editor.clear;e.sheet.editor.clear=function(...o){l.apply(e.sheet.editor,o),setTimeout(()=>{h(u,a,r._worksheets[d],f)})};let x=e.sheet.editor.setOffset;e.sheet.editor.setOffset=function(...o){x.apply(e.sheet.editor,o),f=o[0],h(u,a,r._worksheets[d],f)},u=s.value.querySelector("canvas").getContext("2d"),t.src&&k(t.src,t.requestOptions).then(_).catch(o=>{e.loadData({}),i("error",o)})})}),I(()=>{b.disconnect(),e=null}),M(()=>t.src,()=>{t.src?k(t.src,t.requestOptions).then(_).catch(c=>{e.loadData({}),i("error",c)}):e.loadData({})});function C(c){q(c||`vue-office-excel-${new Date().getTime()}.xlsx`,m)}return{wrapperRef:n,rootRef:s,download:C}}}),X={class:"vue-office-excel",ref:"wrapperRef"},Y={class:"vue-office-excel-main",ref:"rootRef"};function Z(t,i,n,s,r,a){return S(),N("div",X,[P("div",Y,null,512)],512)}const w=V(Q,[["render",Z]]);w.install=function(t){t.component(w.name,w)};const re={__name:"ExcelDemo",setup(t){function i(){O.hideLoading()}function n(a){console.log("出差",a),O.hideLoading()}const s=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.xlsx",r=p();return(a,d)=>{const u=A("loading");return S(),H(K,{accept:".xlsx",placeholder:"请输入xlsx文件地址","default-src":s},{default:U(e=>[z(G(J(w),{ref_key:"docxRef",ref:r,src:e.src,style:{flex:"1",height:"0"},onRendered:i,onError:n},null,8,["src"]),[[u,!0]])]),_:1})}}};export{re as default};

View File

@ -0,0 +1 @@
import{l as R,r as B,S as $,a as h,g as k,b as T,t as L,c as D}from"./hack-23840e64.js";import{d as q}from"./url-de9b02cf.js";import{d as F,_ as V,r as p,o as W,n as j,h as I,w as M,a as S,c as N,b as P,i as A,e as H,f as U,j as z,g as G,u as J}from"./index-251ad64b.js";import{P as K,u as O}from"./PreviewWrapper-e86688ff.js";import"./_commonjs-dynamic-modules-302442b1.js";const E={minColLength:20},Q=F({name:"VueOfficeExcel",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({...E})}},emits:["rendered","error"],setup(t,{emit:i}){const n=p(null),s=p(null);let r={_worksheets:[]},a=[],d=1,u=null,e=null,f=null,m=null;function _(c){m=c,T(c).then(l=>{if(!l._worksheets||l._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:x,medias:g,workbookSource:o}=L(l,{...E,...t.options});a=g,r=o,f=null,d=1,D(),e.loadData(x),h(u,a,r._worksheets[d],f),i("rendered")}).catch(l=>{console.warn(l),a=[],r={_worksheets:[]},D(),e.loadData({}),i("error",l)})}const v=R.debounce(B,200).bind(this,s.value),b=new MutationObserver(v),y={attributes:!0,childList:!0,subtree:!0};W(()=>{j(()=>{b.observe(s.value,y),v(s),window.xs=e=new $(s.value,{mode:"read",showToolbar:!1,showContextmenu:t.options.showContextmenu||!1,view:{height:()=>n.value&&n.value.clientHeight||300,width:()=>n.value&&n.value.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let c=e.bottombar.swapFunc;e.bottombar.swapFunc=function(o){c.call(e.bottombar,o),d=o+1,setTimeout(()=>{e.reRender(),h(u,a,r._worksheets[d],f)})};let l=e.sheet.editor.clear;e.sheet.editor.clear=function(...o){l.apply(e.sheet.editor,o),setTimeout(()=>{h(u,a,r._worksheets[d],f)})};let x=e.sheet.editor.setOffset;e.sheet.editor.setOffset=function(...o){x.apply(e.sheet.editor,o),f=o[0],h(u,a,r._worksheets[d],f)},u=s.value.querySelector("canvas").getContext("2d"),t.src&&k(t.src,t.requestOptions).then(_).catch(o=>{e.loadData({}),i("error",o)})})}),I(()=>{b.disconnect(),e=null}),M(()=>t.src,()=>{t.src?k(t.src,t.requestOptions).then(_).catch(c=>{e.loadData({}),i("error",c)}):e.loadData({})});function C(c){q(c||`vue-office-excel-${new Date().getTime()}.xlsx`,m)}return{wrapperRef:n,rootRef:s,download:C}}}),X={class:"vue-office-excel",ref:"wrapperRef"},Y={class:"vue-office-excel-main",ref:"rootRef"};function Z(t,i,n,s,r,a){return S(),N("div",X,[P("div",Y,null,512)],512)}const w=V(Q,[["render",Z]]);w.install=function(t){t.component(w.name,w)};const re={__name:"ExcelDemo",setup(t){function i(){O.hideLoading()}function n(a){console.log("出差",a),O.hideLoading()}const s=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.xlsx",r=p();return(a,d)=>{const u=A("loading");return S(),H(K,{accept:".xlsx",placeholder:"请输入xlsx文件地址","default-src":s},{default:U(e=>[z(G(J(w),{ref_key:"docxRef",ref:r,src:e.src,style:{flex:"1",height:"0"},onRendered:i,onError:n},null,8,["src"]),[[u,!0]])]),_:1})}}};export{re as default};

View File

@ -0,0 +1 @@
import{l as C,r as R,S as B,a as h,g as k,b as $,t as T,c as D}from"./hack-064cad53.js";import{d as L}from"./url-de9b02cf.js";import{d as q,_ as F,r as m,o as V,n as W,h as j,w as I,a as E,c as M,b as N,i as P,e as A,f as H,j as U,g as z,u as G}from"./index-50d431e6.js";import{P as J,u as O}from"./PreviewWrapper-97fd9bf3.js";import"./_commonjs-dynamic-modules-302442b1.js";const K=q({name:"VueOfficeExcel",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({minColLength:20})}},emits:["rendered","error"],setup(t,{emit:i}){const n=m(null),s=m(null);let r={_worksheets:[]},a=[],d=1,u=null,e=null,f=null,p=null;function _(c){p=c,$(c).then(l=>{if(!l._worksheets||l._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:x,medias:g,workbookSource:o}=T(l,t.options);a=g,r=o,f=null,d=1,D(),e.loadData(x),h(u,a,r._worksheets[d],f),i("rendered")}).catch(l=>{console.warn(l),a=[],r={_worksheets:[]},D(),e.loadData({}),i("error",l)})}const v=C.debounce(R,200).bind(this,s.value),b=new MutationObserver(v),S={attributes:!0,childList:!0,subtree:!0};V(()=>{W(()=>{b.observe(s.value,S),v(s),window.xs=e=new B(s.value,{mode:"read",showToolbar:!1,showContextmenu:t.options.showContextmenu||!1,view:{height:()=>n.value&&n.value.clientHeight||300,width:()=>n.value&&n.value.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let c=e.bottombar.swapFunc;e.bottombar.swapFunc=function(o){c.call(e.bottombar,o),d=o+1,setTimeout(()=>{e.reRender(),h(u,a,r._worksheets[d],f)})};let l=e.sheet.editor.clear;e.sheet.editor.clear=function(...o){l.apply(e.sheet.editor,o),setTimeout(()=>{h(u,a,r._worksheets[d],f)})};let x=e.sheet.editor.setOffset;e.sheet.editor.setOffset=function(...o){x.apply(e.sheet.editor,o),f=o[0],h(u,a,r._worksheets[d],f)},u=s.value.querySelector("canvas").getContext("2d"),t.src&&k(t.src,t.requestOptions).then(_).catch(o=>{e.loadData({}),i("error",o)})})}),j(()=>{b.disconnect(),e=null}),I(()=>t.src,()=>{t.src?k(t.src,t.requestOptions).then(_).catch(c=>{e.loadData({}),i("error",c)}):e.loadData({})});function y(c){L(c||`vue-office-excel-${new Date().getTime()}.xlsx`,p)}return{wrapperRef:n,rootRef:s,download:y}}}),Q={class:"vue-office-excel",ref:"wrapperRef"},X={class:"vue-office-excel-main",ref:"rootRef"};function Y(t,i,n,s,r,a){return E(),M("div",Q,[N("div",X,null,512)],512)}const w=F(K,[["render",Y]]);w.install=function(t){t.component(w.name,w)};const se={__name:"ExcelDemo",setup(t){function i(){O.hideLoading()}function n(a){console.log("出差",a),O.hideLoading()}const s=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.xlsx",r=m();return(a,d)=>{const u=P("loading");return E(),A(J,{accept:".xlsx",placeholder:"请输入xlsx文件地址","default-src":s},{default:H(e=>[U(z(G(w),{ref_key:"docxRef",ref:r,src:e.src,style:{flex:"1",height:"0"},onRendered:i,onError:n},null,8,["src"]),[[u,!0]])]),_:1})}}};export{se as default};

View File

@ -0,0 +1 @@
import{l as C,r as R,S as B,a as h,g as k,b as $,t as T,c as D}from"./hack-34d5149e.js";import{d as L}from"./url-de9b02cf.js";import{d as q,_ as F,r as m,o as V,n as W,h as j,w as I,a as E,c as M,b as N,i as P,e as A,f as H,j as U,g as z,u as G}from"./index-afb4c379.js";import{P as J,u as O}from"./PreviewWrapper-0a805bfd.js";import"./_commonjs-dynamic-modules-302442b1.js";const K=q({name:"VueOfficeExcel",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},options:{type:Object,default:()=>({minColLength:20})}},emits:["rendered","error"],setup(t,{emit:i}){const n=m(null),s=m(null);let r={_worksheets:[]},a=[],d=1,u=null,e=null,f=null,p=null;function _(c){p=c,$(c).then(l=>{if(!l._worksheets||l._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:x,medias:g,workbookSource:o}=T(l,t.options);a=g,r=o,f=null,d=1,D(),e.loadData(x),h(u,a,r._worksheets[d],f),i("rendered")}).catch(l=>{console.warn(l),a=[],r={_worksheets:[]},D(),e.loadData({}),i("error",l)})}const v=C.debounce(R,200).bind(this,s.value),b=new MutationObserver(v),S={attributes:!0,childList:!0,subtree:!0};V(()=>{W(()=>{b.observe(s.value,S),v(s),window.xs=e=new B(s.value,{mode:"read",showToolbar:!1,showContextmenu:t.options.showContextmenu||!1,view:{height:()=>n.value&&n.value.clientHeight||300,width:()=>n.value&&n.value.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let c=e.bottombar.swapFunc;e.bottombar.swapFunc=function(o){c.call(e.bottombar,o),d=o+1,setTimeout(()=>{e.reRender(),h(u,a,r._worksheets[d],f)})};let l=e.sheet.editor.clear;e.sheet.editor.clear=function(...o){l.apply(e.sheet.editor,o),setTimeout(()=>{h(u,a,r._worksheets[d],f)})};let x=e.sheet.editor.setOffset;e.sheet.editor.setOffset=function(...o){x.apply(e.sheet.editor,o),f=o[0],h(u,a,r._worksheets[d],f)},u=s.value.querySelector("canvas").getContext("2d"),t.src&&k(t.src,t.requestOptions).then(_).catch(o=>{e.loadData({}),i("error",o)})})}),j(()=>{b.disconnect(),e=null}),I(()=>t.src,()=>{t.src?k(t.src,t.requestOptions).then(_).catch(c=>{e.loadData({}),i("error",c)}):e.loadData({})});function y(c){L(c||`vue-office-excel-${new Date().getTime()}.xlsx`,p)}return{wrapperRef:n,rootRef:s,download:y}}}),Q={class:"vue-office-excel",ref:"wrapperRef"},X={class:"vue-office-excel-main",ref:"rootRef"};function Y(t,i,n,s,r,a){return E(),M("div",Q,[N("div",X,null,512)],512)}const w=F(K,[["render",Y]]);w.install=function(t){t.component(w.name,w)};const se={__name:"ExcelDemo",setup(t){function i(){O.hideLoading()}function n(a){console.log("出差",a),O.hideLoading()}const s=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.xlsx",r=m();return(a,d)=>{const u=P("loading");return E(),A(J,{accept:".xlsx",placeholder:"请输入xlsx文件地址","default-src":s},{default:H(e=>[U(z(G(w),{ref_key:"docxRef",ref:r,src:e.src,style:{flex:"1",height:"0"},onRendered:i,onError:n},null,8,["src"]),[[u,!0]])]),_:1})}}};export{se as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
var p=Object.defineProperty;var c=(i,e,t)=>e in i?p(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var r=(i,e,t)=>(c(i,typeof e!="symbol"?e+"":e,t),t);import{d as n}from"./docx-40967bb8.js";import{d as l}from"./url-de9b02cf.js";import{r as h,o as d,a as u,c as w}from"./index-0ea73789.js";import"./_commonjs-dynamic-modules-302442b1.js";class m{constructor(e,t={},s={}){r(this,"container",null);r(this,"wrapper",null);r(this,"wrapperMain",null);r(this,"options",{});r(this,"requestOptions",{});r(this,"fileData",null);this.container=e,this.options=t,this.requestOptions=s,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-docx",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-docx-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,s)=>{n.getData(e,this.requestOptions).then(async o=>{this.fileData=await n.getBlob(o),n.render(this.fileData,this.wrapperMain,this.options).then(()=>{t()}).catch(a=>{n.render("",this.wrapperMain,this.options),s(a)})}).catch(o=>{n.render("",this.wrapperMain,this.options),s(o)})})}download(e){l(e||`js-preview-docx-${new Date().getTime()}.docx`,this.fileData)}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options=null,this.requestOptions=null}}function f(i,e,t){return new m(i,e,t)}const x={init:f};const q={__name:"JsDocxDemo",setup(i){const e=h(null);return d(()=>{let t=x.init(e.value);t.preview("/vue-office/examples/dist/static/test-files/test.docx").then(s=>{console.log("docx preview done"),setTimeout(()=>{t.preview("/vue-office/examples/dist/static/test-files/test2.docx")},3e3)}).catch(s=>{console.log("err",s)})}),(t,s)=>(u(),w("div",{ref_key:"dom",ref:e},null,512))}};export{q as default};

View File

@ -0,0 +1 @@
var p=Object.defineProperty;var c=(i,e,t)=>e in i?p(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var r=(i,e,t)=>(c(i,typeof e!="symbol"?e+"":e,t),t);import{d as n}from"./docx-fe694a97.js";import{d as l}from"./url-de9b02cf.js";import{r as h,o as d,a as u,c as w}from"./index-afb4c379.js";import"./_commonjs-dynamic-modules-302442b1.js";class m{constructor(e,t={},s={}){r(this,"container",null);r(this,"wrapper",null);r(this,"wrapperMain",null);r(this,"options",{});r(this,"requestOptions",{});r(this,"fileData",null);this.container=e,this.options=t,this.requestOptions=s,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-docx",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-docx-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,s)=>{n.getData(e,this.requestOptions).then(async o=>{this.fileData=await n.getBlob(o),n.render(this.fileData,this.wrapperMain,this.options).then(()=>{t()}).catch(a=>{n.render("",this.wrapperMain,this.options),s(a)})}).catch(o=>{n.render("",this.wrapperMain,this.options),s(o)})})}download(e){l(e||`js-preview-docx-${new Date().getTime()}.docx`,this.fileData)}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options=null,this.requestOptions=null}}function f(i,e,t){return new m(i,e,t)}const x={init:f};const q={__name:"JsDocxDemo",setup(i){const e=h(null);return d(()=>{let t=x.init(e.value);t.preview("/vue-office/examples/dist/static/test-files/test.docx").then(s=>{console.log("docx preview done"),setTimeout(()=>{t.preview("/vue-office/examples/dist/static/test-files/test2.docx")},3e3)}).catch(s=>{console.log("err",s)})}),(t,s)=>(u(),w("div",{ref_key:"dom",ref:e},null,512))}};export{q as default};

View File

@ -0,0 +1 @@
var p=Object.defineProperty;var c=(i,e,t)=>e in i?p(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var r=(i,e,t)=>(c(i,typeof e!="symbol"?e+"":e,t),t);import{d as n}from"./docx-c898b5e2.js";import{d as l}from"./url-de9b02cf.js";import{r as h,o as d,a as u,c as w}from"./index-251ad64b.js";import"./_commonjs-dynamic-modules-302442b1.js";class m{constructor(e,t={},s={}){r(this,"container",null);r(this,"wrapper",null);r(this,"wrapperMain",null);r(this,"options",{});r(this,"requestOptions",{});r(this,"fileData",null);this.container=e,this.options=t,this.requestOptions=s,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-docx",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-docx-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,s)=>{n.getData(e,this.requestOptions).then(async o=>{this.fileData=await n.getBlob(o),n.render(this.fileData,this.wrapperMain,this.options).then(()=>{t()}).catch(a=>{n.render("",this.wrapperMain,this.options),s(a)})}).catch(o=>{n.render("",this.wrapperMain,this.options),s(o)})})}download(e){l(e||`js-preview-docx-${new Date().getTime()}.docx`,this.fileData)}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options=null,this.requestOptions=null}}function f(i,e,t){return new m(i,e,t)}const x={init:f};const q={__name:"JsDocxDemo",setup(i){const e=h(null);return d(()=>{let t=x.init(e.value);t.preview("/vue-office/examples/dist/static/test-files/test.docx").then(s=>{console.log("docx preview done"),setTimeout(()=>{t.preview("/vue-office/examples/dist/static/test-files/test2.docx")},3e3)}).catch(s=>{console.log("err",s)})}),(t,s)=>(u(),w("div",{ref_key:"dom",ref:e},null,512))}};export{q as default};

View File

@ -0,0 +1 @@
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}

View File

@ -0,0 +1 @@
var p=Object.defineProperty;var c=(i,e,t)=>e in i?p(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var r=(i,e,t)=>(c(i,typeof e!="symbol"?e+"":e,t),t);import{d as n}from"./docx-a2ba3329.js";import{d as l}from"./url-de9b02cf.js";import{r as h,o as d,a as u,c as w}from"./index-50d431e6.js";import"./_commonjs-dynamic-modules-302442b1.js";class m{constructor(e,t={},s={}){r(this,"container",null);r(this,"wrapper",null);r(this,"wrapperMain",null);r(this,"options",{});r(this,"requestOptions",{});r(this,"fileData",null);this.container=e,this.options=t,this.requestOptions=s,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-docx",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-docx-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,s)=>{n.getData(e,this.requestOptions).then(async o=>{this.fileData=await n.getBlob(o),n.render(this.fileData,this.wrapperMain,this.options).then(()=>{t()}).catch(a=>{n.render("",this.wrapperMain,this.options),s(a)})}).catch(o=>{n.render("",this.wrapperMain,this.options),s(o)})})}download(e){l(e||`js-preview-docx-${new Date().getTime()}.docx`,this.fileData)}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options=null,this.requestOptions=null}}function f(i,e,t){return new m(i,e,t)}const x={init:f};const q={__name:"JsDocxDemo",setup(i){const e=h(null);return d(()=>{let t=x.init(e.value);t.preview("/vue-office/examples/dist/static/test-files/test.docx").then(s=>{console.log("docx preview done"),setTimeout(()=>{t.preview("/vue-office/examples/dist/static/test-files/test2.docx")},3e3)}).catch(s=>{console.log("err",s)})}),(t,s)=>(u(),w("div",{ref_key:"dom",ref:e},null,512))}};export{q as default};

View File

@ -0,0 +1 @@
var c=Object.defineProperty;var p=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var s=(r,e,t)=>(p(r,typeof e!="symbol"?e+"":e,t),t);import{S as u,a as n,b as d,t as w,c as l,l as x,r as m,g as f}from"./hack-34d5149e.js";import{d as k}from"./url-de9b02cf.js";/* empty css */import{r as b,o as v,a as S,c as D}from"./index-afb4c379.js";import"./_commonjs-dynamic-modules-302442b1.js";class _{constructor(e,t={},i={}){s(this,"container",null);s(this,"wrapper",null);s(this,"wrapperMain",null);s(this,"options",{});s(this,"requestOptions",{});s(this,"mediasSource",[]);s(this,"workbookDataSource",{_worksheets:[]});s(this,"sheetIndex",1);s(this,"ctx",null);s(this,"xs",null);s(this,"offset",null);s(this,"observer",null);s(this,"fileData",null);this.container=e,this.options={minColLength:20,...t},this.requestOptions=i,this.createWrapper(),this.initSpreadsheet(),this.hack()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-excel",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-excel-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}initSpreadsheet(){this.xs=new u(this.wrapperMain,{mode:"read",showToolbar:!1,showContextmenu:this.options.showContextmenu||!1,view:{height:()=>this.wrapper&&this.wrapper.clientHeight||300,width:()=>this.wrapper&&this.wrapper.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let e=this,t=this.xs.bottombar.swapFunc;this.xs.bottombar.swapFunc=function(a){t.call(e.xs.bottombar,a),e.sheetIndex=a+1,setTimeout(()=>{e.xs.reRender(),n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let i=this.xs.sheet.editor.clear;this.xs.sheet.editor.clear=function(...a){i.apply(e.xs.sheet.editor,a),setTimeout(()=>{n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let o=this.xs.sheet.editor.setOffset;this.xs.sheet.editor.setOffset=function(...a){o.apply(e.xs.sheet.editor,a),e.offset=a[0],n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)};const h=this.wrapperMain.querySelector("canvas");this.ctx=h.getContext("2d")}renderExcel(e){return this.fileData=e,d(e).then(t=>{if(!t._worksheets||t._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:i,medias:o,workbookSource:h}=w(t,this.options);this.mediasSource=o,this.workbookDataSource=h,this.offset=null,this.sheetIndex=1,l(),this.xs.loadData(i),n(this.ctx,this.mediasSource,this.workbookDataSource._worksheets[this.sheetIndex],this.offset)}).catch(t=>(this.mediasSource=[],this.workbookDataSource={_worksheets:[]},l(),this.xs.loadData({}),Promise.reject(t)))}hack(){const e=x.debounce(m,200).bind(this,this.wrapperMain);this.observer=new MutationObserver(e);const t={attributes:!0,childList:!0,subtree:!0};this.observer.observe(this.wrapperMain,t),e(this.wrapperMain)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,i)=>{f(e,this.requestOptions).then(o=>{this.renderExcel(o).then(t)}).catch(o=>{this.xs.loadData({}),i(o)})})}download(e){k(e||`js-preview-excel-${new Date().getTime()}.xlsx`,this.fileData)}destroy(){this.observer.disconnect(),this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.ctx=null,this.xs=null,this.observer=null,this.options=null,this.requestOptions=null,this.mediasSource=null,this.workbookDataSource=null}}function E(r,e,t){return new _(r,e,t)}const g={init:E},P={__name:"JsExcelDemo",setup(r){const e=b(null);return v(()=>{window.myExcelPreview=g.init(e.value),window.myExcelPreview.preview("/vue-office/examples/dist/static/test-files/test.xlsx").then(t=>{console.log("excel preview done",window.myExcelPreview)}).catch(t=>{console.log("err",t)})}),(t,i)=>(S(),D("div",{ref_key:"dom",ref:e,style:{height:"calc(100vh - 50px)"}},null,512))}};export{P as default};

View File

@ -0,0 +1 @@
var c=Object.defineProperty;var p=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var s=(r,e,t)=>(p(r,typeof e!="symbol"?e+"":e,t),t);import{S as u,a as n,b as d,t as w,c as l,l as x,r as m,g as f}from"./hack-064cad53.js";import{d as k}from"./url-de9b02cf.js";/* empty css */import{r as b,o as v,a as S,c as D}from"./index-50d431e6.js";import"./_commonjs-dynamic-modules-302442b1.js";class _{constructor(e,t={},i={}){s(this,"container",null);s(this,"wrapper",null);s(this,"wrapperMain",null);s(this,"options",{});s(this,"requestOptions",{});s(this,"mediasSource",[]);s(this,"workbookDataSource",{_worksheets:[]});s(this,"sheetIndex",1);s(this,"ctx",null);s(this,"xs",null);s(this,"offset",null);s(this,"observer",null);s(this,"fileData",null);this.container=e,this.options={minColLength:20,...t},this.requestOptions=i,this.createWrapper(),this.initSpreadsheet(),this.hack()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-excel",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-excel-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}initSpreadsheet(){this.xs=new u(this.wrapperMain,{mode:"read",showToolbar:!1,showContextmenu:this.options.showContextmenu||!1,view:{height:()=>this.wrapper&&this.wrapper.clientHeight||300,width:()=>this.wrapper&&this.wrapper.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let e=this,t=this.xs.bottombar.swapFunc;this.xs.bottombar.swapFunc=function(a){t.call(e.xs.bottombar,a),e.sheetIndex=a+1,setTimeout(()=>{e.xs.reRender(),n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let i=this.xs.sheet.editor.clear;this.xs.sheet.editor.clear=function(...a){i.apply(e.xs.sheet.editor,a),setTimeout(()=>{n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let o=this.xs.sheet.editor.setOffset;this.xs.sheet.editor.setOffset=function(...a){o.apply(e.xs.sheet.editor,a),e.offset=a[0],n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)};const h=this.wrapperMain.querySelector("canvas");this.ctx=h.getContext("2d")}renderExcel(e){return this.fileData=e,d(e).then(t=>{if(!t._worksheets||t._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:i,medias:o,workbookSource:h}=w(t,this.options);this.mediasSource=o,this.workbookDataSource=h,this.offset=null,this.sheetIndex=1,l(),this.xs.loadData(i),n(this.ctx,this.mediasSource,this.workbookDataSource._worksheets[this.sheetIndex],this.offset)}).catch(t=>(this.mediasSource=[],this.workbookDataSource={_worksheets:[]},l(),this.xs.loadData({}),Promise.reject(t)))}hack(){const e=x.debounce(m,200).bind(this,this.wrapperMain);this.observer=new MutationObserver(e);const t={attributes:!0,childList:!0,subtree:!0};this.observer.observe(this.wrapperMain,t),e(this.wrapperMain)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,i)=>{f(e,this.requestOptions).then(o=>{this.renderExcel(o).then(t)}).catch(o=>{this.xs.loadData({}),i(o)})})}download(e){k(e||`js-preview-excel-${new Date().getTime()}.xlsx`,this.fileData)}destroy(){this.observer.disconnect(),this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.ctx=null,this.xs=null,this.observer=null,this.options=null,this.requestOptions=null,this.mediasSource=null,this.workbookDataSource=null}}function E(r,e,t){return new _(r,e,t)}const g={init:E},P={__name:"JsExcelDemo",setup(r){const e=b(null);return v(()=>{window.myExcelPreview=g.init(e.value),window.myExcelPreview.preview("/vue-office/examples/dist/static/test-files/test.xlsx").then(t=>{console.log("excel preview done",window.myExcelPreview)}).catch(t=>{console.log("err",t)})}),(t,i)=>(S(),D("div",{ref_key:"dom",ref:e,style:{height:"calc(100vh - 50px)"}},null,512))}};export{P as default};

View File

@ -0,0 +1 @@
var c=Object.defineProperty;var p=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var s=(r,e,t)=>(p(r,typeof e!="symbol"?e+"":e,t),t);import{S as u,a as n,b as d,t as w,c as l,l as x,r as m,g as f}from"./hack-23840e64.js";import{d as k}from"./url-de9b02cf.js";/* empty css */import{r as b,o as v,a as S,c as D}from"./index-251ad64b.js";import"./_commonjs-dynamic-modules-302442b1.js";const _={minColLength:20};class E{constructor(e,t={},o={}){s(this,"container",null);s(this,"wrapper",null);s(this,"wrapperMain",null);s(this,"options",{});s(this,"requestOptions",{});s(this,"mediasSource",[]);s(this,"workbookDataSource",{_worksheets:[]});s(this,"sheetIndex",1);s(this,"ctx",null);s(this,"xs",null);s(this,"offset",null);s(this,"observer",null);s(this,"fileData",null);this.container=e,this.options={..._,...t},this.requestOptions=o,this.createWrapper(),this.initSpreadsheet(),this.hack()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-excel",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-excel-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}initSpreadsheet(){this.xs=new u(this.wrapperMain,{mode:"read",showToolbar:!1,showContextmenu:this.options.showContextmenu||!1,view:{height:()=>this.wrapper&&this.wrapper.clientHeight||300,width:()=>this.wrapper&&this.wrapper.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let e=this,t=this.xs.bottombar.swapFunc;this.xs.bottombar.swapFunc=function(a){t.call(e.xs.bottombar,a),e.sheetIndex=a+1,setTimeout(()=>{e.xs.reRender(),n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let o=this.xs.sheet.editor.clear;this.xs.sheet.editor.clear=function(...a){o.apply(e.xs.sheet.editor,a),setTimeout(()=>{n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let i=this.xs.sheet.editor.setOffset;this.xs.sheet.editor.setOffset=function(...a){i.apply(e.xs.sheet.editor,a),e.offset=a[0],n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)};const h=this.wrapperMain.querySelector("canvas");this.ctx=h.getContext("2d")}renderExcel(e){return this.fileData=e,d(e).then(t=>{if(!t._worksheets||t._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:o,medias:i,workbookSource:h}=w(t,this.options);this.mediasSource=i,this.workbookDataSource=h,this.offset=null,this.sheetIndex=1,l(),this.xs.loadData(o),n(this.ctx,this.mediasSource,this.workbookDataSource._worksheets[this.sheetIndex],this.offset)}).catch(t=>(this.mediasSource=[],this.workbookDataSource={_worksheets:[]},l(),this.xs.loadData({}),Promise.reject(t)))}hack(){const e=x.debounce(m,200).bind(this,this.wrapperMain);this.observer=new MutationObserver(e);const t={attributes:!0,childList:!0,subtree:!0};this.observer.observe(this.wrapperMain,t),e(this.wrapperMain)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,o)=>{f(e,this.requestOptions).then(i=>{this.renderExcel(i).then(t)}).catch(i=>{this.xs.loadData({}),o(i)})})}download(e){k(e||`js-preview-excel-${new Date().getTime()}.xlsx`,this.fileData)}destroy(){this.observer.disconnect(),this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.ctx=null,this.xs=null,this.observer=null,this.options=null,this.requestOptions=null,this.mediasSource=null,this.workbookDataSource=null}}function g(r,e,t){return new E(r,e,t)}const O={init:g},T={__name:"JsExcelDemo",setup(r){const e=b(null);return v(()=>{window.myExcelPreview=O.init(e.value,{}),window.myExcelPreview.preview("/vue-office/examples/dist/static/test-files/test.xlsx").then(t=>{console.log("excel preview done",window.myExcelPreview)}).catch(t=>{console.log("err",t)})}),(t,o)=>(S(),D("div",{ref_key:"dom",ref:e,style:{height:"calc(100vh - 50px)"}},null,512))}};export{T as default};

View File

@ -0,0 +1 @@
var c=Object.defineProperty;var p=(r,e,t)=>e in r?c(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var s=(r,e,t)=>(p(r,typeof e!="symbol"?e+"":e,t),t);import{S as u,a as n,b as d,t as w,c as l,l as x,r as m,g as f}from"./hack-264edb38.js";import{d as k}from"./url-de9b02cf.js";/* empty css */import{r as b,o as v,a as S,c as D}from"./index-0ea73789.js";import"./_commonjs-dynamic-modules-302442b1.js";const _={minColLength:20};class E{constructor(e,t={},o={}){s(this,"container",null);s(this,"wrapper",null);s(this,"wrapperMain",null);s(this,"options",{});s(this,"requestOptions",{});s(this,"mediasSource",[]);s(this,"workbookDataSource",{_worksheets:[]});s(this,"sheetIndex",1);s(this,"ctx",null);s(this,"xs",null);s(this,"offset",null);s(this,"observer",null);s(this,"fileData",null);this.container=e,this.options={..._,...t},this.requestOptions=o,this.createWrapper(),this.initSpreadsheet(),this.hack()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-excel",this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-excel-main",this.wrapper.appendChild(this.wrapperMain),this.container.appendChild(this.wrapper)}initSpreadsheet(){this.xs=new u(this.wrapperMain,{mode:"read",showToolbar:!1,showContextmenu:this.options.showContextmenu||!1,view:{height:()=>this.wrapper&&this.wrapper.clientHeight||300,width:()=>this.wrapper&&this.wrapper.clientWidth||1200},row:{height:24,len:100},col:{len:26,width:80,indexWidth:60,minWidth:60},autoFocus:!1}).loadData({});let e=this,t=this.xs.bottombar.swapFunc;this.xs.bottombar.swapFunc=function(a){t.call(e.xs.bottombar,a),e.sheetIndex=a+1,setTimeout(()=>{e.xs.reRender(),n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let o=this.xs.sheet.editor.clear;this.xs.sheet.editor.clear=function(...a){o.apply(e.xs.sheet.editor,a),setTimeout(()=>{n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)})};let i=this.xs.sheet.editor.setOffset;this.xs.sheet.editor.setOffset=function(...a){i.apply(e.xs.sheet.editor,a),e.offset=a[0],n(e.ctx,e.mediasSource,e.workbookDataSource._worksheets[e.sheetIndex],e.offset)};const h=this.wrapperMain.querySelector("canvas");this.ctx=h.getContext("2d")}renderExcel(e){return this.fileData=e,d(e).then(t=>{if(!t._worksheets||t._worksheets.length===0)throw new Error("未获取到数据,可能文件格式不正确或文件已损坏");const{workbookData:o,medias:i,workbookSource:h}=w(t,this.options);this.mediasSource=i,this.workbookDataSource=h,this.offset=null,this.sheetIndex=1,l(),this.xs.loadData(o),n(this.ctx,this.mediasSource,this.workbookDataSource._worksheets[this.sheetIndex],this.offset)}).catch(t=>(this.mediasSource=[],this.workbookDataSource={_worksheets:[]},l(),this.xs.loadData({}),Promise.reject(t)))}hack(){const e=x.debounce(m,200).bind(this,this.wrapperMain);this.observer=new MutationObserver(e);const t={attributes:!0,childList:!0,subtree:!0};this.observer.observe(this.wrapperMain,t),e(this.wrapperMain)}setOptions(e){this.options=e}setRequestOptions(e){this.requestOptions=e}preview(e){return new Promise((t,o)=>{f(e,this.requestOptions).then(i=>{this.renderExcel(i).then(t)}).catch(i=>{this.xs.loadData({}),o(i)})})}download(e){k(e||`js-preview-excel-${new Date().getTime()}.xlsx`,this.fileData)}destroy(){this.observer.disconnect(),this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.ctx=null,this.xs=null,this.observer=null,this.options=null,this.requestOptions=null,this.mediasSource=null,this.workbookDataSource=null}}function g(r,e,t){return new E(r,e,t)}const O={init:g},T={__name:"JsExcelDemo",setup(r){const e=b(null);return v(()=>{window.myExcelPreview=O.init(e.value,{}),window.myExcelPreview.preview("/vue-office/examples/dist/static/test-files/test.xlsx").then(t=>{console.log("excel preview done",window.myExcelPreview)}).catch(t=>{console.log("err",t)})}),(t,o)=>(S(),D("div",{ref_key:"dom",ref:e,style:{height:"calc(100vh - 50px)"}},null,512))}};export{T as default};

View File

@ -0,0 +1 @@
var d=Object.defineProperty;var u=(r,t,e)=>t in r?d(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>(u(r,typeof t!="symbol"?t+"":t,e),e);import{o as f,w,p as m}from"./omit-398a2efe.js";import{l as v,g,d as P}from"./url-de9b02cf.js";/* empty css */import{r as M,o as b,a as k,c as x}from"./index-0ea73789.js";const _=`data:text/javascript;base64,${m}`,C=`data:text/javascript;base64,${w}`;class D{constructor(t,e={},i={}){a(this,"container",null);a(this,"wrapper",null);a(this,"wrapperMain",null);a(this,"options",{});a(this,"requestOptions",{});a(this,"pdfDocument",null);this.container=t,this.options={staticFileUrl:"https://unpkg.com/pdfjs-dist@3.1.81/",...e},this.requestOptions=i,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-pdf",this.wrapper.setAttribute("style","text-align: center;overflow-y: auto;"),this.container.appendChild(this.wrapper)}createWrapperMain(){this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-pdf-wrapper",this.wrapperMain.setAttribute("style","background: gray; padding: 30px 0;position: relative;"),this.wrapper.appendChild(this.wrapperMain)}createCanvas(){const t=document.createElement("canvas");return t.setAttribute("style","width:100%"),this.wrapperMain.appendChild(t),[t,t.getContext("2d")]}installPdfScript(){return v(_).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=C})}checkPdfLib(){return window.pdfjsLib?Promise.resolve():this.installPdfScript()}getDocument(t){return window.pdfjsLib.getDocument({url:g(t),cMapUrl:`${this.options.staticFileUrl.endsWith("/")?this.options.staticFileUrl:this.options.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...f(this.options,["width","staticFileUrl"])}).promise}renderSinglePage(t){return this.pdfDocument.getPage(t).then(e=>{const i=e.getViewport({scale:2}),s=window.devicePixelRatio||1;let[n,l]=this.createCanvas();n.width=Math.floor(i.width*s),n.height=Math.floor(i.height*s);let o=Math.floor(i.width),p=Math.floor(i.height);if(this.options.width){let c=this.options.width/o;o=Math.floor(this.options.width),p=Math.floor(p*c)}if(o>document.documentElement.clientWidth){let c=document.documentElement.clientWidth/o;o=Math.floor(document.documentElement.clientWidth),p=Math.floor(p*c)}n.style.width=o+"px",n.style.height=p+"px";const h=s!==1?[s,0,0,s,0,0]:null;return e.render({canvasContext:l,transform:h,viewport:i}).promise.then(()=>{this.pdfDocument.numPages>t&&this.renderSinglePage(t+1)})})}renderPage(){return this.wrapperMain||this.createWrapperMain(),this.renderSinglePage(1)}clearAllCanvas(){this.wrapperMain&&(this.wrapper.removeChild(this.wrapperMain),this.wrapperMain=null)}setOptions(t){this.options=t}setRequestOptions(t){this.requestOptions=t}preview(t){return new Promise((e,i)=>{if(!t){this.clearAllCanvas(),i(new Error("预览地址不能为空"));return}this.checkPdfLib().then(s=>{this.getDocument(t).then(n=>{this.pdfDocument=n,this.renderPage().then(l=>{e()}).catch(l=>{this.clearAllCanvas(),i(l)})}).catch(n=>{this.clearAllCanvas(),i(n)})}).catch(s=>{this.clearAllCanvas(),i(s)})})}download(t){this.pdfDocument&&this.pdfDocument._transport&&this.pdfDocument._transport.getData().then(e=>{P(t||`js-preview-pdf-${new Date().getTime()}.pdf`,e.buffer)})}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options={},this.requestOptions={},this.pdfDocument=null}}function y(r,t,e){return new D(r,t,e)}const W={init:y},j={__name:"JsPdfDemo",setup(r){const t=M(null);return b(()=>{window.myPdfPreview=W.init(t.value),window.myPdfPreview.preview("/vue-office/examples/dist/static/test-files/test.pdf").then(e=>{console.log("excel preview done",window.myPdfPreview)}).catch(e=>{console.log("err",e)})}),(e,i)=>(k(),x("div",{ref_key:"dom",ref:t,style:{height:"calc(100vh - 50px)"}},null,512))}};export{j as default};

View File

@ -0,0 +1 @@
var d=Object.defineProperty;var u=(r,t,e)=>t in r?d(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>(u(r,typeof t!="symbol"?t+"":t,e),e);import{o as f,w,p as m}from"./omit-bd103a0f.js";import{l as v,g,d as P}from"./url-de9b02cf.js";/* empty css */import{r as M,o as b,a as k,c as x}from"./index-50d431e6.js";const _=`data:text/javascript;base64,${m}`,C=`data:text/javascript;base64,${w}`;class D{constructor(t,e={},i={}){a(this,"container",null);a(this,"wrapper",null);a(this,"wrapperMain",null);a(this,"options",{});a(this,"requestOptions",{});a(this,"pdfDocument",null);this.container=t,this.options={staticFileUrl:"https://unpkg.com/pdfjs-dist@3.1.81/",...e},this.requestOptions=i,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-pdf",this.wrapper.setAttribute("style","text-align: center;overflow-y: auto;"),this.container.appendChild(this.wrapper)}createWrapperMain(){this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-pdf-wrapper",this.wrapperMain.setAttribute("style","background: gray; padding: 30px 0;position: relative;"),this.wrapper.appendChild(this.wrapperMain)}createCanvas(){const t=document.createElement("canvas");return t.setAttribute("style","width:100%"),this.wrapperMain.appendChild(t),[t,t.getContext("2d")]}installPdfScript(){return v(_).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=C})}checkPdfLib(){return window.pdfjsLib?Promise.resolve():this.installPdfScript()}getDocument(t){return window.pdfjsLib.getDocument({url:g(t),cMapUrl:`${this.options.staticFileUrl.endsWith("/")?this.options.staticFileUrl:this.options.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...f(this.options,["width","staticFileUrl"])}).promise}renderSinglePage(t){return this.pdfDocument.getPage(t).then(e=>{const i=e.getViewport({scale:2}),s=window.devicePixelRatio||1;let[n,l]=this.createCanvas();n.width=Math.floor(i.width*s),n.height=Math.floor(i.height*s);let o=Math.floor(i.width),p=Math.floor(i.height);if(this.options.width){let c=this.options.width/o;o=Math.floor(this.options.width),p=Math.floor(p*c)}if(o>document.documentElement.clientWidth){let c=document.documentElement.clientWidth/o;o=Math.floor(document.documentElement.clientWidth),p=Math.floor(p*c)}n.style.width=o+"px",n.style.height=p+"px";const h=s!==1?[s,0,0,s,0,0]:null;return e.render({canvasContext:l,transform:h,viewport:i}).promise.then(()=>{this.pdfDocument.numPages>t&&this.renderSinglePage(t+1)})})}renderPage(){return this.wrapperMain||this.createWrapperMain(),this.renderSinglePage(1)}clearAllCanvas(){this.wrapperMain&&(this.wrapper.removeChild(this.wrapperMain),this.wrapperMain=null)}setOptions(t){this.options=t}setRequestOptions(t){this.requestOptions=t}preview(t){return new Promise((e,i)=>{if(!t){this.clearAllCanvas(),i(new Error("预览地址不能为空"));return}this.checkPdfLib().then(s=>{this.getDocument(t).then(n=>{this.pdfDocument=n,this.renderPage().then(l=>{e()}).catch(l=>{this.clearAllCanvas(),i(l)})}).catch(n=>{this.clearAllCanvas(),i(n)})}).catch(s=>{this.clearAllCanvas(),i(s)})})}download(t){this.pdfDocument&&this.pdfDocument._transport&&this.pdfDocument._transport.getData().then(e=>{P(t||`js-preview-pdf-${new Date().getTime()}.pdf`,e.buffer)})}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options={},this.requestOptions={},this.pdfDocument=null}}function y(r,t,e){return new D(r,t,e)}const W={init:y},j={__name:"JsPdfDemo",setup(r){const t=M(null);return b(()=>{window.myPdfPreview=W.init(t.value),window.myPdfPreview.preview("/vue-office/examples/dist/static/test-files/test.pdf").then(e=>{console.log("excel preview done",window.myPdfPreview)}).catch(e=>{console.log("err",e)})}),(e,i)=>(k(),x("div",{ref_key:"dom",ref:t,style:{height:"calc(100vh - 50px)"}},null,512))}};export{j as default};

View File

@ -0,0 +1 @@
var d=Object.defineProperty;var u=(r,t,e)=>t in r?d(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>(u(r,typeof t!="symbol"?t+"":t,e),e);import{o as f,w,p as m}from"./omit-662a6e92.js";import{l as v,g,d as P}from"./url-de9b02cf.js";/* empty css */import{r as M,o as b,a as k,c as x}from"./index-251ad64b.js";const _=`data:text/javascript;base64,${m}`,C=`data:text/javascript;base64,${w}`;class D{constructor(t,e={},i={}){a(this,"container",null);a(this,"wrapper",null);a(this,"wrapperMain",null);a(this,"options",{});a(this,"requestOptions",{});a(this,"pdfDocument",null);this.container=t,this.options={staticFileUrl:"https://unpkg.com/pdfjs-dist@3.1.81/",...e},this.requestOptions=i,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-pdf",this.wrapper.setAttribute("style","text-align: center;overflow-y: auto;"),this.container.appendChild(this.wrapper)}createWrapperMain(){this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-pdf-wrapper",this.wrapperMain.setAttribute("style","background: gray; padding: 30px 0;position: relative;"),this.wrapper.appendChild(this.wrapperMain)}createCanvas(){const t=document.createElement("canvas");return t.setAttribute("style","width:100%"),this.wrapperMain.appendChild(t),[t,t.getContext("2d")]}installPdfScript(){return v(_).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=C})}checkPdfLib(){return window.pdfjsLib?Promise.resolve():this.installPdfScript()}getDocument(t){return window.pdfjsLib.getDocument({url:g(t),cMapUrl:`${this.options.staticFileUrl.endsWith("/")?this.options.staticFileUrl:this.options.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...f(this.options,["width","staticFileUrl"])}).promise}renderSinglePage(t){return this.pdfDocument.getPage(t).then(e=>{const i=e.getViewport({scale:2}),s=window.devicePixelRatio||1;let[n,l]=this.createCanvas();n.width=Math.floor(i.width*s),n.height=Math.floor(i.height*s);let o=Math.floor(i.width),p=Math.floor(i.height);if(this.options.width){let c=this.options.width/o;o=Math.floor(this.options.width),p=Math.floor(p*c)}if(o>document.documentElement.clientWidth){let c=document.documentElement.clientWidth/o;o=Math.floor(document.documentElement.clientWidth),p=Math.floor(p*c)}n.style.width=o+"px",n.style.height=p+"px";const h=s!==1?[s,0,0,s,0,0]:null;return e.render({canvasContext:l,transform:h,viewport:i}).promise.then(()=>{this.pdfDocument.numPages>t&&this.renderSinglePage(t+1)})})}renderPage(){return this.wrapperMain||this.createWrapperMain(),this.renderSinglePage(1)}clearAllCanvas(){this.wrapperMain&&(this.wrapper.removeChild(this.wrapperMain),this.wrapperMain=null)}setOptions(t){this.options=t}setRequestOptions(t){this.requestOptions=t}preview(t){return new Promise((e,i)=>{if(!t){this.clearAllCanvas(),i(new Error("预览地址不能为空"));return}this.checkPdfLib().then(s=>{this.getDocument(t).then(n=>{this.pdfDocument=n,this.renderPage().then(l=>{e()}).catch(l=>{this.clearAllCanvas(),i(l)})}).catch(n=>{this.clearAllCanvas(),i(n)})}).catch(s=>{this.clearAllCanvas(),i(s)})})}download(t){this.pdfDocument&&this.pdfDocument._transport&&this.pdfDocument._transport.getData().then(e=>{P(t||`js-preview-pdf-${new Date().getTime()}.pdf`,e.buffer)})}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options={},this.requestOptions={},this.pdfDocument=null}}function y(r,t,e){return new D(r,t,e)}const W={init:y},j={__name:"JsPdfDemo",setup(r){const t=M(null);return b(()=>{window.myPdfPreview=W.init(t.value),window.myPdfPreview.preview("/vue-office/examples/dist/static/test-files/test.pdf").then(e=>{console.log("excel preview done",window.myPdfPreview)}).catch(e=>{console.log("err",e)})}),(e,i)=>(k(),x("div",{ref_key:"dom",ref:t,style:{height:"calc(100vh - 50px)"}},null,512))}};export{j as default};

View File

@ -0,0 +1 @@
var d=Object.defineProperty;var u=(r,t,e)=>t in r?d(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>(u(r,typeof t!="symbol"?t+"":t,e),e);import{o as f,w,p as m}from"./omit-eb6ad03a.js";import{l as v,g,d as P}from"./url-de9b02cf.js";/* empty css */import{r as M,o as b,a as k,c as x}from"./index-afb4c379.js";const _=`data:text/javascript;base64,${m}`,C=`data:text/javascript;base64,${w}`;class D{constructor(t,e={},i={}){a(this,"container",null);a(this,"wrapper",null);a(this,"wrapperMain",null);a(this,"options",{});a(this,"requestOptions",{});a(this,"pdfDocument",null);this.container=t,this.options={staticFileUrl:"https://unpkg.com/pdfjs-dist@3.1.81/",...e},this.requestOptions=i,this.createWrapper()}createWrapper(){this.wrapper=document.createElement("div"),this.wrapper.className="vue-office-pdf",this.wrapper.setAttribute("style","text-align: center;overflow-y: auto;"),this.container.appendChild(this.wrapper)}createWrapperMain(){this.wrapperMain=document.createElement("div"),this.wrapperMain.className="vue-office-pdf-wrapper",this.wrapperMain.setAttribute("style","background: gray; padding: 30px 0;position: relative;"),this.wrapper.appendChild(this.wrapperMain)}createCanvas(){const t=document.createElement("canvas");return t.setAttribute("style","width:100%"),this.wrapperMain.appendChild(t),[t,t.getContext("2d")]}installPdfScript(){return v(_).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=C})}checkPdfLib(){return window.pdfjsLib?Promise.resolve():this.installPdfScript()}getDocument(t){return window.pdfjsLib.getDocument({url:g(t),cMapUrl:`${this.options.staticFileUrl.endsWith("/")?this.options.staticFileUrl:this.options.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...f(this.options,["width","staticFileUrl"])}).promise}renderSinglePage(t){return this.pdfDocument.getPage(t).then(e=>{const i=e.getViewport({scale:2}),s=window.devicePixelRatio||1;let[n,l]=this.createCanvas();n.width=Math.floor(i.width*s),n.height=Math.floor(i.height*s);let o=Math.floor(i.width),p=Math.floor(i.height);if(this.options.width){let c=this.options.width/o;o=Math.floor(this.options.width),p=Math.floor(p*c)}if(o>document.documentElement.clientWidth){let c=document.documentElement.clientWidth/o;o=Math.floor(document.documentElement.clientWidth),p=Math.floor(p*c)}n.style.width=o+"px",n.style.height=p+"px";const h=s!==1?[s,0,0,s,0,0]:null;return e.render({canvasContext:l,transform:h,viewport:i}).promise.then(()=>{this.pdfDocument.numPages>t&&this.renderSinglePage(t+1)})})}renderPage(){return this.wrapperMain||this.createWrapperMain(),this.renderSinglePage(1)}clearAllCanvas(){this.wrapperMain&&(this.wrapper.removeChild(this.wrapperMain),this.wrapperMain=null)}setOptions(t){this.options=t}setRequestOptions(t){this.requestOptions=t}preview(t){return new Promise((e,i)=>{if(!t){this.clearAllCanvas(),i(new Error("预览地址不能为空"));return}this.checkPdfLib().then(s=>{this.getDocument(t).then(n=>{this.pdfDocument=n,this.renderPage().then(l=>{e()}).catch(l=>{this.clearAllCanvas(),i(l)})}).catch(n=>{this.clearAllCanvas(),i(n)})}).catch(s=>{this.clearAllCanvas(),i(s)})})}download(t){this.pdfDocument&&this.pdfDocument._transport&&this.pdfDocument._transport.getData().then(e=>{P(t||`js-preview-pdf-${new Date().getTime()}.pdf`,e.buffer)})}destroy(){this.container.removeChild(this.wrapper),this.container=null,this.wrapper=null,this.wrapperMain=null,this.options={},this.requestOptions={},this.pdfDocument=null}}function y(r,t,e){return new D(r,t,e)}const W={init:y},j={__name:"JsPdfDemo",setup(r){const t=M(null);return b(()=>{window.myPdfPreview=W.init(t.value),window.myPdfPreview.preview("/vue-office/examples/dist/static/test-files/test.pdf").then(e=>{console.log("excel preview done",window.myPdfPreview)}).catch(e=>{console.log("err",e)})}),(e,i)=>(k(),x("div",{ref_key:"dom",ref:t,style:{height:"calc(100vh - 50px)"}},null,512))}};export{j as default};

View File

@ -0,0 +1 @@
import{o as L,p as $,w as j}from"./omit-398a2efe.js";import{g as S,d as W,l as R}from"./url-de9b02cf.js";import{d as E,_ as F,r as v,o as O,w as U,a as p,c as w,F as B,k as C,l as D,e as V,f as T,g as J,u as N}from"./index-0ea73789.js";import{P as q,u as P}from"./PreviewWrapper-f4f144b8.js";const A=`data:text/javascript;base64,${$}`,G=`data:text/javascript;base64,${j}`,H=E({name:"VueOfficePdf",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},staticFileUrl:{type:String,default:"https://unpkg.com/pdfjs-dist@3.1.81/"},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:n}){let o=null,i=null;const c=v([]),r=v(0);function m(){return R(A).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=G})}function g(){return window.pdfjsLib?Promise.resolve():m()}function k(){if(!e.src){r.value=0;return}i=window.pdfjsLib.getDocument({url:S(e.src),cMapUrl:`${e.staticFileUrl.endsWith("/")?e.staticFileUrl:e.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...L(e.options,["width"])}),i.promise.then(t=>{o=t,r.value=o.numPages,x(1)}).catch(t=>{n("error",t)})}function x(t){o.getPage(t).then(a=>{const d=a.getViewport({scale:2}),l=window.devicePixelRatio||1,f=c.value[t-1],y=f.getContext("2d");f.width=Math.floor(d.width*l),f.height=Math.floor(d.height*l);let s=Math.floor(d.width),u=Math.floor(d.height);if(e.options.width){let h=e.options.width/s;s=Math.floor(e.options.width),u=Math.floor(u*h)}if(s>document.documentElement.clientWidth){let h=document.documentElement.clientWidth/s;s=Math.floor(document.documentElement.clientWidth),u=Math.floor(u*h)}f.style.width=s+"px",f.style.height=u+"px";const M=l!==1?[l,0,0,l,0,0]:null;a.render({canvasContext:y,transform:M,viewport:d}).promise.then(()=>{r.value>t?x(t+1):n("rendered")}).catch(h=>{n("error",h)})}).catch(a=>{n("error",a)})}O(()=>{e.src&&g().then(k)}),U(()=>e.src,()=>{g().then(k)});function b(t){o&&o._transport&&o._transport.getData().then(a=>{W(t||`vue-office-pdf-${new Date().getTime()}.pdf`,a.buffer)})}return{rootRef:c,numPages:r,download:b}}}),X={class:"vue-office-pdf",ref:"vue-office-pdf",style:{"text-align":"center","overflow-y":"auto"}},z={key:0,class:"vue-office-pdf-wrapper",style:{background:"gray",padding:"30px 0",position:"relative"}};function I(e,n,o,i,c,r){return p(),w("div",X,[e.numPages?(p(),w("div",z,[(p(!0),w(B,null,C(e.numPages,m=>(p(),w("canvas",{ref_for:!0,ref:"rootRef",key:m,style:{width:"100%"}}))),128))])):D("",!0)],512)}const _=F(H,[["render",I]]);_.install=function(e){e.component(_.name,_)};const te={__name:"PdfDemo",setup(e){function n(){P.hideLoading()}function o(r){console.log("出差",r),P.hideLoading()}const i=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.pdf",c=v();return(r,m)=>(p(),V(q,{accept:".pdf",placeholder:"请输入pdf文件地址","default-src":i},{default:T(g=>[J(N(_),{ref_key:"docxRef",ref:c,src:g.src,style:{flex:"1",height:"0"},options:{},onRendered:n,onError:o},null,8,["src"])]),_:1}))}};export{te as default};

View File

@ -0,0 +1 @@
import{o as L,p as $,w as j}from"./omit-bd103a0f.js";import{g as S,d as W,l as R}from"./url-de9b02cf.js";import{d as E,_ as F,r as v,o as O,w as U,a as p,c as w,F as B,k as C,l as D,e as V,f as T,g as J,u as N}from"./index-50d431e6.js";import{P as q,u as P}from"./PreviewWrapper-97fd9bf3.js";const A=`data:text/javascript;base64,${$}`,G=`data:text/javascript;base64,${j}`,H=E({name:"VueOfficePdf",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},staticFileUrl:{type:String,default:"https://unpkg.com/pdfjs-dist@3.1.81/"},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:n}){let o=null,i=null;const c=v([]),r=v(0);function m(){return R(A).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=G})}function g(){return window.pdfjsLib?Promise.resolve():m()}function k(){if(!e.src){r.value=0;return}i=window.pdfjsLib.getDocument({url:S(e.src),cMapUrl:`${e.staticFileUrl.endsWith("/")?e.staticFileUrl:e.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...L(e.options,["width"])}),i.promise.then(t=>{o=t,r.value=o.numPages,x(1)}).catch(t=>{n("error",t)})}function x(t){o.getPage(t).then(a=>{const d=a.getViewport({scale:2}),l=window.devicePixelRatio||1,f=c.value[t-1],y=f.getContext("2d");f.width=Math.floor(d.width*l),f.height=Math.floor(d.height*l);let s=Math.floor(d.width),u=Math.floor(d.height);if(e.options.width){let h=e.options.width/s;s=Math.floor(e.options.width),u=Math.floor(u*h)}if(s>document.documentElement.clientWidth){let h=document.documentElement.clientWidth/s;s=Math.floor(document.documentElement.clientWidth),u=Math.floor(u*h)}f.style.width=s+"px",f.style.height=u+"px";const M=l!==1?[l,0,0,l,0,0]:null;a.render({canvasContext:y,transform:M,viewport:d}).promise.then(()=>{r.value>t?x(t+1):n("rendered")}).catch(h=>{n("error",h)})}).catch(a=>{n("error",a)})}O(()=>{e.src&&g().then(k)}),U(()=>e.src,()=>{g().then(k)});function b(t){o&&o._transport&&o._transport.getData().then(a=>{W(t||`vue-office-pdf-${new Date().getTime()}.pdf`,a.buffer)})}return{rootRef:c,numPages:r,download:b}}}),X={class:"vue-office-pdf",ref:"vue-office-pdf",style:{"text-align":"center","overflow-y":"auto"}},z={key:0,class:"vue-office-pdf-wrapper",style:{background:"gray",padding:"30px 0",position:"relative"}};function I(e,n,o,i,c,r){return p(),w("div",X,[e.numPages?(p(),w("div",z,[(p(!0),w(B,null,C(e.numPages,m=>(p(),w("canvas",{ref_for:!0,ref:"rootRef",key:m,style:{width:"100%"}}))),128))])):D("",!0)],512)}const _=F(H,[["render",I]]);_.install=function(e){e.component(_.name,_)};const te={__name:"PdfDemo",setup(e){function n(){P.hideLoading()}function o(r){console.log("出差",r),P.hideLoading()}const i=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.pdf",c=v();return(r,m)=>(p(),V(q,{accept:".pdf",placeholder:"请输入pdf文件地址","default-src":i},{default:T(g=>[J(N(_),{ref_key:"docxRef",ref:c,src:g.src,style:{flex:"1",height:"0"},options:{},onRendered:n,onError:o},null,8,["src"])]),_:1}))}};export{te as default};

View File

@ -0,0 +1 @@
import{o as L,p as $,w as j}from"./omit-eb6ad03a.js";import{g as S,d as W,l as R}from"./url-de9b02cf.js";import{d as E,_ as F,r as v,o as O,w as U,a as p,c as w,F as B,k as C,l as D,e as V,f as T,g as J,u as N}from"./index-afb4c379.js";import{P as q,u as P}from"./PreviewWrapper-0a805bfd.js";const A=`data:text/javascript;base64,${$}`,G=`data:text/javascript;base64,${j}`,H=E({name:"VueOfficePdf",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},staticFileUrl:{type:String,default:"https://unpkg.com/pdfjs-dist@3.1.81/"},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:n}){let o=null,i=null;const c=v([]),r=v(0);function m(){return R(A).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=G})}function g(){return window.pdfjsLib?Promise.resolve():m()}function k(){if(!e.src){r.value=0;return}i=window.pdfjsLib.getDocument({url:S(e.src),cMapUrl:`${e.staticFileUrl.endsWith("/")?e.staticFileUrl:e.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...L(e.options,["width"])}),i.promise.then(t=>{o=t,r.value=o.numPages,x(1)}).catch(t=>{n("error",t)})}function x(t){o.getPage(t).then(a=>{const d=a.getViewport({scale:2}),l=window.devicePixelRatio||1,f=c.value[t-1],y=f.getContext("2d");f.width=Math.floor(d.width*l),f.height=Math.floor(d.height*l);let s=Math.floor(d.width),u=Math.floor(d.height);if(e.options.width){let h=e.options.width/s;s=Math.floor(e.options.width),u=Math.floor(u*h)}if(s>document.documentElement.clientWidth){let h=document.documentElement.clientWidth/s;s=Math.floor(document.documentElement.clientWidth),u=Math.floor(u*h)}f.style.width=s+"px",f.style.height=u+"px";const M=l!==1?[l,0,0,l,0,0]:null;a.render({canvasContext:y,transform:M,viewport:d}).promise.then(()=>{r.value>t?x(t+1):n("rendered")}).catch(h=>{n("error",h)})}).catch(a=>{n("error",a)})}O(()=>{e.src&&g().then(k)}),U(()=>e.src,()=>{g().then(k)});function b(t){o&&o._transport&&o._transport.getData().then(a=>{W(t||`vue-office-pdf-${new Date().getTime()}.pdf`,a.buffer)})}return{rootRef:c,numPages:r,download:b}}}),X={class:"vue-office-pdf",ref:"vue-office-pdf",style:{"text-align":"center","overflow-y":"auto"}},z={key:0,class:"vue-office-pdf-wrapper",style:{background:"gray",padding:"30px 0",position:"relative"}};function I(e,n,o,i,c,r){return p(),w("div",X,[e.numPages?(p(),w("div",z,[(p(!0),w(B,null,C(e.numPages,m=>(p(),w("canvas",{ref_for:!0,ref:"rootRef",key:m,style:{width:"100%"}}))),128))])):D("",!0)],512)}const _=F(H,[["render",I]]);_.install=function(e){e.component(_.name,_)};const te={__name:"PdfDemo",setup(e){function n(){P.hideLoading()}function o(r){console.log("出差",r),P.hideLoading()}const i=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.pdf",c=v();return(r,m)=>(p(),V(q,{accept:".pdf",placeholder:"请输入pdf文件地址","default-src":i},{default:T(g=>[J(N(_),{ref_key:"docxRef",ref:c,src:g.src,style:{flex:"1",height:"0"},options:{},onRendered:n,onError:o},null,8,["src"])]),_:1}))}};export{te as default};

View File

@ -0,0 +1 @@
import{o as L,p as $,w as j}from"./omit-662a6e92.js";import{g as S,d as W,l as R}from"./url-de9b02cf.js";import{d as E,_ as F,r as v,o as O,w as U,a as p,c as w,F as B,k as C,l as D,e as V,f as T,g as J,u as N}from"./index-251ad64b.js";import{P as q,u as P}from"./PreviewWrapper-e86688ff.js";const A=`data:text/javascript;base64,${$}`,G=`data:text/javascript;base64,${j}`,H=E({name:"VueOfficePdf",props:{src:[String,ArrayBuffer,Blob],requestOptions:{type:Object,default:()=>({})},staticFileUrl:{type:String,default:"https://unpkg.com/pdfjs-dist@3.1.81/"},options:{type:Object,default:()=>({})}},emits:["rendered","error"],setup(e,{emit:n}){let o=null,i=null;const c=v([]),r=v(0);function m(){return R(A).then(()=>{window.pdfjsLib.GlobalWorkerOptions.workerSrc=G})}function g(){return window.pdfjsLib?Promise.resolve():m()}function k(){if(!e.src){r.value=0;return}i=window.pdfjsLib.getDocument({url:S(e.src),cMapUrl:`${e.staticFileUrl.endsWith("/")?e.staticFileUrl:e.staticFileUrl+"/"}cmaps/`,cMapPacked:!0,enableXfa:!0,...L(e.options,["width"])}),i.promise.then(t=>{o=t,r.value=o.numPages,x(1)}).catch(t=>{n("error",t)})}function x(t){o.getPage(t).then(a=>{const d=a.getViewport({scale:2}),l=window.devicePixelRatio||1,f=c.value[t-1],y=f.getContext("2d");f.width=Math.floor(d.width*l),f.height=Math.floor(d.height*l);let s=Math.floor(d.width),u=Math.floor(d.height);if(e.options.width){let h=e.options.width/s;s=Math.floor(e.options.width),u=Math.floor(u*h)}if(s>document.documentElement.clientWidth){let h=document.documentElement.clientWidth/s;s=Math.floor(document.documentElement.clientWidth),u=Math.floor(u*h)}f.style.width=s+"px",f.style.height=u+"px";const M=l!==1?[l,0,0,l,0,0]:null;a.render({canvasContext:y,transform:M,viewport:d}).promise.then(()=>{r.value>t?x(t+1):n("rendered")}).catch(h=>{n("error",h)})}).catch(a=>{n("error",a)})}O(()=>{e.src&&g().then(k)}),U(()=>e.src,()=>{g().then(k)});function b(t){o&&o._transport&&o._transport.getData().then(a=>{W(t||`vue-office-pdf-${new Date().getTime()}.pdf`,a.buffer)})}return{rootRef:c,numPages:r,download:b}}}),X={class:"vue-office-pdf",ref:"vue-office-pdf",style:{"text-align":"center","overflow-y":"auto"}},z={key:0,class:"vue-office-pdf-wrapper",style:{background:"gray",padding:"30px 0",position:"relative"}};function I(e,n,o,i,c,r){return p(),w("div",X,[e.numPages?(p(),w("div",z,[(p(!0),w(B,null,C(e.numPages,m=>(p(),w("canvas",{ref_for:!0,ref:"rootRef",key:m,style:{width:"100%"}}))),128))])):D("",!0)],512)}const _=F(H,[["render",I]]);_.install=function(e){e.component(_.name,_)};const te={__name:"PdfDemo",setup(e){function n(){P.hideLoading()}function o(r){console.log("出差",r),P.hideLoading()}const i=location.origin+(location.pathname+"/").replace("//","/")+"static/test-files/test.pdf",c=v();return(r,m)=>(p(),V(q,{accept:".pdf",placeholder:"请输入pdf文件地址","default-src":i},{default:T(g=>[J(N(_),{ref_key:"docxRef",ref:c,src:g.src,style:{flex:"1",height:"0"},options:{},onRendered:n,onError:o},null,8,["src"])]),_:1}))}};export{te as default};

View File

@ -0,0 +1 @@
import{r as d,m as C,_ as I,w as N,p as l,a as p,c as x,u as t,g as i,f as n,q as v,s as S,e as y,l as m,t as V,v as W,x as A,b as R}from"./index-afb4c379.js";function T(e){const s=d("url"),a=d(e),r=d(e),u=d([]);function b(w){let c=new FileReader;return c.onload=o=>{let _=o.target.result;r.value=_},c.readAsArrayBuffer(w),!1}return{type:s,inputSrc:a,src:r,fileList:u,beforeUpload:b}}let g=d(!1),k;function $(e){k=C.loading(e,0),g.value=!0}function q(){g.value===!0&&(k(),g.value=!1)}const E={loading:g,showLoading:$,hideLoading:q};function F(){return location.href.includes("test")}const j=e=>(W("data-v-6e0b6946"),e=e(),A(),e),z={class:"preview-wrapper"},D={key:0,class:"operate-area"},G=j(()=>R("div",{class:"preview-wrapper-main"},null,-1)),H={__name:"PreviewWrapper",props:{accept:String,placeholder:String,defaultSrc:String},setup(e){const s=e,{type:a,inputSrc:r,src:u,fileList:b,beforeUpload:w}=T(s.defaultSrc);return N(u,()=>{E.showLoading()},{immediate:!0}),(c,o)=>{const _=l("a-radio-button"),B=l("a-radio-group"),L=l("a-input"),h=l("a-button"),U=l("upload-outlined"),P=l("a-upload");return p(),x("div",z,[t(F)()?m("",!0):(p(),x("div",D,[i(B,{value:t(a),"onUpdate:value":o[0]||(o[0]=f=>S(a)?a.value=f:null),"button-style":"solid"},{default:n(()=>[i(_,{value:"url"},{default:n(()=>[v("远程文件地址")]),_:1}),i(_,{value:"upload"},{default:n(()=>[v("上传本地文件")]),_:1})]),_:1},8,["value"]),t(a)==="url"?(p(),y(L,{key:0,value:t(r),"onUpdate:value":o[1]||(o[1]=f=>S(r)?r.value=f:null),placeholder:s.placeholder,style:{width:"600px","margin-left":"10px"}},null,8,["value","placeholder"])):m("",!0),t(a)==="url"?(p(),y(h,{key:1,type:"primary",style:{"margin-left":"10px"},onClick:o[2]||(o[2]=f=>u.value=t(r))},{default:n(()=>[v(" 预览 ")]),_:1})):m("",!0),t(a)!=="url"?(p(),y(P,{key:2,accept:s.accept,action:"",beforeUpload:t(w),"file-list":[]},{default:n(()=>[i(h,{style:{"margin-left":"10px"}},{default:n(()=>[i(U),v(" 选择文件 ")]),_:1})]),_:1},8,["accept","beforeUpload"])):m("",!0)])),V(c.$slots,"default",{src:t(u)},void 0,!0),G])}}},K=I(H,[["__scopeId","data-v-6e0b6946"]]);export{K as P,E as u};

View File

@ -0,0 +1 @@
import{r as d,m as C,_ as I,w as N,p as l,a as p,c as x,u as t,g as i,f as n,q as v,s as S,e as y,l as m,t as V,v as W,x as A,b as R}from"./index-50d431e6.js";function T(e){const s=d("url"),a=d(e),r=d(e),u=d([]);function b(w){let c=new FileReader;return c.onload=o=>{let _=o.target.result;r.value=_},c.readAsArrayBuffer(w),!1}return{type:s,inputSrc:a,src:r,fileList:u,beforeUpload:b}}let g=d(!1),k;function $(e){k=C.loading(e,0),g.value=!0}function q(){g.value===!0&&(k(),g.value=!1)}const E={loading:g,showLoading:$,hideLoading:q};function F(){return location.href.includes("test")}const j=e=>(W("data-v-6e0b6946"),e=e(),A(),e),z={class:"preview-wrapper"},D={key:0,class:"operate-area"},G=j(()=>R("div",{class:"preview-wrapper-main"},null,-1)),H={__name:"PreviewWrapper",props:{accept:String,placeholder:String,defaultSrc:String},setup(e){const s=e,{type:a,inputSrc:r,src:u,fileList:b,beforeUpload:w}=T(s.defaultSrc);return N(u,()=>{E.showLoading()},{immediate:!0}),(c,o)=>{const _=l("a-radio-button"),B=l("a-radio-group"),L=l("a-input"),h=l("a-button"),U=l("upload-outlined"),P=l("a-upload");return p(),x("div",z,[t(F)()?m("",!0):(p(),x("div",D,[i(B,{value:t(a),"onUpdate:value":o[0]||(o[0]=f=>S(a)?a.value=f:null),"button-style":"solid"},{default:n(()=>[i(_,{value:"url"},{default:n(()=>[v("远程文件地址")]),_:1}),i(_,{value:"upload"},{default:n(()=>[v("上传本地文件")]),_:1})]),_:1},8,["value"]),t(a)==="url"?(p(),y(L,{key:0,value:t(r),"onUpdate:value":o[1]||(o[1]=f=>S(r)?r.value=f:null),placeholder:s.placeholder,style:{width:"600px","margin-left":"10px"}},null,8,["value","placeholder"])):m("",!0),t(a)==="url"?(p(),y(h,{key:1,type:"primary",style:{"margin-left":"10px"},onClick:o[2]||(o[2]=f=>u.value=t(r))},{default:n(()=>[v(" 预览 ")]),_:1})):m("",!0),t(a)!=="url"?(p(),y(P,{key:2,accept:s.accept,action:"",beforeUpload:t(w),"file-list":[]},{default:n(()=>[i(h,{style:{"margin-left":"10px"}},{default:n(()=>[i(U),v(" 选择文件 ")]),_:1})]),_:1},8,["accept","beforeUpload"])):m("",!0)])),V(c.$slots,"default",{src:t(u)},void 0,!0),G])}}},K=I(H,[["__scopeId","data-v-6e0b6946"]]);export{K as P,E as u};

View File

@ -0,0 +1 @@
import{r as d,m as C,_ as I,w as N,p as l,a as p,c as x,u as t,g as i,f as n,q as v,s as S,e as y,l as m,t as V,v as W,x as A,b as R}from"./index-251ad64b.js";function T(e){const s=d("url"),a=d(e),r=d(e),u=d([]);function b(w){let c=new FileReader;return c.onload=o=>{let _=o.target.result;r.value=_},c.readAsArrayBuffer(w),!1}return{type:s,inputSrc:a,src:r,fileList:u,beforeUpload:b}}let g=d(!1),k;function $(e){k=C.loading(e,0),g.value=!0}function q(){g.value===!0&&(k(),g.value=!1)}const E={loading:g,showLoading:$,hideLoading:q};function F(){return location.href.includes("test")}const j=e=>(W("data-v-6e0b6946"),e=e(),A(),e),z={class:"preview-wrapper"},D={key:0,class:"operate-area"},G=j(()=>R("div",{class:"preview-wrapper-main"},null,-1)),H={__name:"PreviewWrapper",props:{accept:String,placeholder:String,defaultSrc:String},setup(e){const s=e,{type:a,inputSrc:r,src:u,fileList:b,beforeUpload:w}=T(s.defaultSrc);return N(u,()=>{E.showLoading()},{immediate:!0}),(c,o)=>{const _=l("a-radio-button"),B=l("a-radio-group"),L=l("a-input"),h=l("a-button"),U=l("upload-outlined"),P=l("a-upload");return p(),x("div",z,[t(F)()?m("",!0):(p(),x("div",D,[i(B,{value:t(a),"onUpdate:value":o[0]||(o[0]=f=>S(a)?a.value=f:null),"button-style":"solid"},{default:n(()=>[i(_,{value:"url"},{default:n(()=>[v("远程文件地址")]),_:1}),i(_,{value:"upload"},{default:n(()=>[v("上传本地文件")]),_:1})]),_:1},8,["value"]),t(a)==="url"?(p(),y(L,{key:0,value:t(r),"onUpdate:value":o[1]||(o[1]=f=>S(r)?r.value=f:null),placeholder:s.placeholder,style:{width:"600px","margin-left":"10px"}},null,8,["value","placeholder"])):m("",!0),t(a)==="url"?(p(),y(h,{key:1,type:"primary",style:{"margin-left":"10px"},onClick:o[2]||(o[2]=f=>u.value=t(r))},{default:n(()=>[v(" 预览 ")]),_:1})):m("",!0),t(a)!=="url"?(p(),y(P,{key:2,accept:s.accept,action:"",beforeUpload:t(w),"file-list":[]},{default:n(()=>[i(h,{style:{"margin-left":"10px"}},{default:n(()=>[i(U),v(" 选择文件 ")]),_:1})]),_:1},8,["accept","beforeUpload"])):m("",!0)])),V(c.$slots,"default",{src:t(u)},void 0,!0),G])}}},K=I(H,[["__scopeId","data-v-6e0b6946"]]);export{K as P,E as u};

View File

@ -0,0 +1 @@
import{r as d,m as C,_ as I,w as N,p as l,a as p,c as x,u as t,g as i,f as n,q as v,s as S,e as y,l as m,t as V,v as W,x as A,b as R}from"./index-0ea73789.js";function T(e){const s=d("url"),a=d(e),r=d(e),u=d([]);function b(w){let c=new FileReader;return c.onload=o=>{let _=o.target.result;r.value=_},c.readAsArrayBuffer(w),!1}return{type:s,inputSrc:a,src:r,fileList:u,beforeUpload:b}}let g=d(!1),k;function $(e){k=C.loading(e,0),g.value=!0}function q(){g.value===!0&&(k(),g.value=!1)}const E={loading:g,showLoading:$,hideLoading:q};function F(){return location.href.includes("test")}const j=e=>(W("data-v-6e0b6946"),e=e(),A(),e),z={class:"preview-wrapper"},D={key:0,class:"operate-area"},G=j(()=>R("div",{class:"preview-wrapper-main"},null,-1)),H={__name:"PreviewWrapper",props:{accept:String,placeholder:String,defaultSrc:String},setup(e){const s=e,{type:a,inputSrc:r,src:u,fileList:b,beforeUpload:w}=T(s.defaultSrc);return N(u,()=>{E.showLoading()},{immediate:!0}),(c,o)=>{const _=l("a-radio-button"),B=l("a-radio-group"),L=l("a-input"),h=l("a-button"),U=l("upload-outlined"),P=l("a-upload");return p(),x("div",z,[t(F)()?m("",!0):(p(),x("div",D,[i(B,{value:t(a),"onUpdate:value":o[0]||(o[0]=f=>S(a)?a.value=f:null),"button-style":"solid"},{default:n(()=>[i(_,{value:"url"},{default:n(()=>[v("远程文件地址")]),_:1}),i(_,{value:"upload"},{default:n(()=>[v("上传本地文件")]),_:1})]),_:1},8,["value"]),t(a)==="url"?(p(),y(L,{key:0,value:t(r),"onUpdate:value":o[1]||(o[1]=f=>S(r)?r.value=f:null),placeholder:s.placeholder,style:{width:"600px","margin-left":"10px"}},null,8,["value","placeholder"])):m("",!0),t(a)==="url"?(p(),y(h,{key:1,type:"primary",style:{"margin-left":"10px"},onClick:o[2]||(o[2]=f=>u.value=t(r))},{default:n(()=>[v(" 预览 ")]),_:1})):m("",!0),t(a)!=="url"?(p(),y(P,{key:2,accept:s.accept,action:"",beforeUpload:t(w),"file-list":[]},{default:n(()=>[i(h,{style:{"margin-left":"10px"}},{default:n(()=>[i(U),v(" 选择文件 ")]),_:1})]),_:1},8,["accept","beforeUpload"])):m("",!0)])),V(c.$slots,"default",{src:t(u)},void 0,!0),G])}}},K=I(H,[["__scopeId","data-v-6e0b6946"]]);export{K as P,E as u};

96
examples/dist/assets/docx-40967bb8.js vendored Normal file

File diff suppressed because one or more lines are too long

96
examples/dist/assets/docx-a2ba3329.js vendored Normal file

File diff suppressed because one or more lines are too long

96
examples/dist/assets/docx-c898b5e2.js vendored Normal file

File diff suppressed because one or more lines are too long

96
examples/dist/assets/docx-fe694a97.js vendored Normal file

File diff suppressed because one or more lines are too long

99
examples/dist/assets/hack-064cad53.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

99
examples/dist/assets/hack-23840e64.js vendored Normal file

File diff suppressed because one or more lines are too long

99
examples/dist/assets/hack-264edb38.js vendored Normal file

File diff suppressed because one or more lines are too long

99
examples/dist/assets/hack-34d5149e.js vendored Normal file

File diff suppressed because one or more lines are too long

121
examples/dist/assets/index-0ea73789.js vendored Normal file

File diff suppressed because one or more lines are too long

121
examples/dist/assets/index-251ad64b.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

121
examples/dist/assets/index-50d431e6.js vendored Normal file

File diff suppressed because one or more lines are too long

121
examples/dist/assets/index-afb4c379.js vendored Normal file

File diff suppressed because one or more lines are too long

1
examples/dist/assets/omit-398a2efe.js vendored Normal file

File diff suppressed because one or more lines are too long

1
examples/dist/assets/omit-662a6e92.js vendored Normal file

File diff suppressed because one or more lines are too long

1
examples/dist/assets/omit-bd103a0f.js vendored Normal file

File diff suppressed because one or more lines are too long

1
examples/dist/assets/omit-eb6ad03a.js vendored Normal file

File diff suppressed because one or more lines are too long

1
examples/dist/assets/url-de9b02cf.js vendored Normal file
View File

@ -0,0 +1 @@
function i(e){return typeof e=="string"?e:e instanceof Blob?URL.createObjectURL(e):e instanceof ArrayBuffer?URL.createObjectURL(new Blob([e])):e instanceof Response?URL.createObjectURL(e.blob()):e}function l(e){return new Promise((n,t)=>{let o=document.createElement("script");o.src=e,o.onload=function(){n()},o.onerror=function(){t()},document.body.append(o)})}async function c(e,n){n&&(n instanceof ArrayBuffer&&(n=new Blob([n])),r(e,URL.createObjectURL(n)))}function r(e,n){let t=document.createElement("a");t.download=e,t.style.display="none",t.href=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}export{c as d,i as g,l};

View File

@ -7,7 +7,7 @@
content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<title>@vue-office演示demo</title>
<script type="module" crossorigin src="/vue-office/examples/dist/assets/index-893deb04.js"></script>
<script type="module" crossorigin src="/vue-office/examples/dist/assets/index-0ea73789.js"></script>
<link rel="stylesheet" href="/vue-office/examples/dist/assets/index-cc8fb346.css">
</head>
<body>

BIN
examples/dist/static/wxqrcode.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,7 @@
import{_ as s,c as a,o as n,O as l}from"./chunks/framework.935eb42c.js";const d=JSON.parse('{"title":"属性","description":"","frontmatter":{},"headers":[],"relativePath":"config/index.md"}'),o={name:"config/index.md"},p=l(`<h1 id="属性" tabindex="-1">属性 <a class="header-anchor" href="#属性" aria-label="Permalink to &quot;属性&quot;"></a></h1><h2 id="src" tabindex="-1">src <a class="header-anchor" href="#src" aria-label="Permalink to &quot;src&quot;"></a></h2><ul><li>类型String, ArrayBuffer, Blob</li></ul><p>文档地址文件在CDN或服务器上的地址或者是通过FileReader读取的文件ArrayBuffer或者Blob格式。</p><h2 id="request-options" tabindex="-1">request-options <a class="header-anchor" href="#request-options" aria-label="Permalink to &quot;request-options&quot;"></a></h2><ul><li>类型Object</li></ul><p>如果属性src是个文件地址组件内部会通过window.fetch进行请求对应window.fetch的请求参数可以用来设置header等请求信息。</p><h2 id="options" tabindex="-1">options <a class="header-anchor" href="#options" aria-label="Permalink to &quot;options&quot;"></a></h2><ul><li>类型: Object</li></ul><p>预览需要的一些特殊配置,不同预览组件可配置项各不相同。</p><ul><li>excel预览</li></ul><p>excel相关的配置目前支持配置项很少。</p><p>minColLength: excel最少渲染多少列如果想实现xlsx文件内容有几列就渲染几列可以将此值设置为0.</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">minColLength</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">20</span><span style="color:#A6ACCD;"> </span></span>
import{_ as s,c as a,o as n,O as l}from"./chunks/framework.935eb42c.js";const C=JSON.parse('{"title":"属性","description":"","frontmatter":{},"headers":[],"relativePath":"config/index.md"}'),o={name:"config/index.md"},p=l(`<h1 id="属性" tabindex="-1">属性 <a class="header-anchor" href="#属性" aria-label="Permalink to &quot;属性&quot;"></a></h1><h2 id="src" tabindex="-1">src <a class="header-anchor" href="#src" aria-label="Permalink to &quot;src&quot;"></a></h2><ul><li>类型String, ArrayBuffer, Blob</li></ul><p>文档地址文件在CDN或服务器上的地址或者是通过FileReader读取的文件ArrayBuffer或者Blob格式。</p><h2 id="request-options" tabindex="-1">request-options <a class="header-anchor" href="#request-options" aria-label="Permalink to &quot;request-options&quot;"></a></h2><ul><li>类型Object</li></ul><p>如果属性src是个文件地址组件内部会通过window.fetch进行请求对应window.fetch的请求参数可以用来设置header等请求信息。</p><h2 id="options" tabindex="-1">options <a class="header-anchor" href="#options" aria-label="Permalink to &quot;options&quot;"></a></h2><ul><li>类型: Object</li></ul><p>预览需要的一些特殊配置,不同预览组件可配置项各不相同。</p><ul><li>excel预览</li></ul><p>excel相关的配置目前支持配置项很少。</p><p>minColLength: excel最少渲染多少列如果想实现xlsx文件内容有几列就渲染几列可以将此值设置为0.</p><p>widthOffset在默认渲染的列表宽度上再加10px宽</p><p>heightOffset在默认渲染的列表高度上再加10px高</p><div class="language-javascript"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">minColLength</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">: </span><span style="color:#F78C6C;">20</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">widthOffset</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">: </span><span style="color:#F78C6C;">0</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#676E95;font-style:italic;">//10px</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">heightOffset</span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">: </span><span style="color:#F78C6C;">0</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#676E95;font-style:italic;">//10px</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><ul><li>docx</li></ul><p>docx</p><div class="language-typescript"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#FFCB6B;">className</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">string</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">docx</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#676E95;font-style:italic;">//class name/prefix for default and document style classes</span></span>
<span class="line"><span style="color:#F07178;"> </span><span style="color:#FFCB6B;">inWrapper</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">boolean</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#FF9CAC;">true</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#676E95;font-style:italic;">//enables rendering of wrapper around document content</span></span>
@ -19,4 +21,4 @@ import{_ as s,c as a,o as n,O as l}from"./chunks/framework.935eb42c.js";const d=
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">httpHeaders</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{},</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;font-style:italic;">//object, Basic authentication headers</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">password</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;font-style:italic;">//string, pdf</span></span>
<span class="line"><span style="color:#89DDFF;"> </span><span style="color:#676E95;font-style:italic;">//更多配置参见 https://mozilla.github.io/pdf.js/api/draft/module-pdfjsLib.html</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><h2 id="staticfileurl-pdf" tabindex="-1">staticFileUrl [pdf] <a class="header-anchor" href="#staticfileurl-pdf" aria-label="Permalink to &quot;staticFileUrl [pdf]&quot;"></a></h2><ul><li> String</li></ul><p>pdfbcmap <a href="https://unpkg.com/pdfjs-dist@3.1.81/" target="_blank" rel="noreferrer">https://unpkg.com/pdfjs-dist@3.1.81/</a> bcmap</p><p>githubexamples/public/cmapscmapsstaticFileUrlcmapshttphttps <a href="http://yourdomain/static/" target="_blank" rel="noreferrer">http://yourdomain/static/</a></p>`,24),e=[p];function t(r,c,F,y,i,D){return n(),a("div",null,e)}const f=s(o,[["render",t]]);export{d as __pageData,f as default};
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><h2 id="staticfileurl-pdf" tabindex="-1">staticFileUrl [pdf] <a class="header-anchor" href="#staticfileurl-pdf" aria-label="Permalink to &quot;staticFileUrl [pdf]&quot;"></a></h2><ul><li> String</li></ul><p>pdfbcmap <a href="https://unpkg.com/pdfjs-dist@3.1.81/" target="_blank" rel="noreferrer">https://unpkg.com/pdfjs-dist@3.1.81/</a> bcmap</p><p>githubexamples/public/cmapscmapsstaticFileUrlcmapshttphttps <a href="http://yourdomain/static/" target="_blank" rel="noreferrer">http://yourdomain/static/</a></p>`,26),e=[p];function t(c,r,F,y,i,D){return n(),a("div",null,e)}const f=s(o,[["render",t]]);export{C as __pageData,f as default};

View File

@ -1 +1 @@
import{_ as s,c as a,o as n,O as l}from"./chunks/framework.935eb42c.js";const d=JSON.parse('{"title":"属性","description":"","frontmatter":{},"headers":[],"relativePath":"config/index.md"}'),o={name:"config/index.md"},p=l("",24),e=[p];function t(r,c,F,y,i,D){return n(),a("div",null,e)}const f=s(o,[["render",t]]);export{d as __pageData,f as default};
import{_ as s,c as a,o as n,O as l}from"./chunks/framework.935eb42c.js";const C=JSON.parse('{"title":"属性","description":"","frontmatter":{},"headers":[],"relativePath":"config/index.md"}'),o={name:"config/index.md"},p=l("",26),e=[p];function t(c,r,F,y,i,D){return n(),a("div",null,e)}const f=s(o,[["render",t]]);export{C as __pageData,f as default};

View File

@ -1 +0,0 @@
import{_ as A,c as E,o as I,O as C}from"./chunks/framework.935eb42c.js";const R=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md"}'),Q={name:"guide/faq.md"},i=C("",20),B=[i];function s(e,g,n,l,J,k){return I(),E("div",null,B)}const a=A(Q,[["render",s]]);export{R as __pageData,a as default};

View File

@ -0,0 +1 @@
import{_ as A,c as E,o as I,O as C}from"./chunks/framework.935eb42c.js";const k=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md"}'),s={name:"guide/faq.md"},i=C("",35),Q=[i];function B(e,n,l,g,a,t){return I(),E("div",null,Q)}const r=A(s,[["render",B]]);export{k as __pageData,r as default};

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

@ -10,7 +10,7 @@
<link rel="preload" href="/vue-office/examples/docs/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/vue-office/examples/docs/assets/chunks/framework.935eb42c.js">
<link rel="modulepreload" href="/vue-office/examples/docs/assets/chunks/theme.585d8d97.js">
<link rel="modulepreload" href="/vue-office/examples/docs/assets/guide_faq.md.32e428fb.lean.js">
<link rel="modulepreload" href="/vue-office/examples/docs/assets/guide_faq.md.fc7d1e4f.lean.js">
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
</head>
<body>
@ -34,8 +34,13 @@
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">))</span><span style="color:#89DDFF;">;</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#A6ACCD;">app</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">listen</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">3000</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span></code></pre></div><p>各种语言都类似,可以自行百度查询</p><h2 id="文件预览不出来" tabindex="-1">文件预览不出来 <a class="header-anchor" href="#文件预览不出来" aria-label="Permalink to &quot;文件预览不出来&quot;"></a></h2><ul><li>检查文件是否返回成功,是否存在跨域</li><li>目前不支持doc、xls格式文件的预览</li><li>可以看看@error事件抛出了什么错误信息</li></ul></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/js-preview.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>非Vue框架进行文件预览</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/contact.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>联系我</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<span class="line"><span style="color:#A6ACCD;">app</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">listen</span><span style="color:#A6ACCD;">(</span><span style="color:#F78C6C;">3000</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span></code></pre></div><p>各种语言都类似,可以自行百度查询</p><h2 id="文件预览不出来" tabindex="-1">文件预览不出来 <a class="header-anchor" href="#文件预览不出来" aria-label="Permalink to &quot;文件预览不出来&quot;"></a></h2><ul><li>检查文件是否返回成功,是否存在跨域</li><li>目前不支持doc、xls格式文件的预览</li><li>可以看看@error事件抛出了什么错误信息</li></ul><h2 id="definecomponent-is-not-a-function" tabindex="-1">**.defineComponent is not a function <a class="header-anchor" href="#definecomponent-is-not-a-function" aria-label="Permalink to &quot;**.defineComponent is not a function&quot;"></a></h2><p>出现这个问题一般是通过CDN的方式加载了vue.js文件且CDN中的vue版本和开发环境安装的vue版本不一致。</p><ul><li>问题确认</li></ul><p>检查CDN中vue.js的版本 和 node_modules下的vue版本是否一致。</p><p>首先在项目的html中查看引入的vue.js文件路径然后根据路径找的这个vue.js文件查看其版本</p><p>然后查看node_modules中安装的vue版本<strong>注意</strong>是在node_modules目录下找到vue安装文件然后查看其版本而不是package.json中的vue版本。</p><p>看看两个地方的vue版本是不是不一致不一致往下看。</p><ul><li>出现原因</li></ul><p>package.json中vue版本不是指定的固定版本而是在版本前面带&quot;^&quot;&quot;~&quot;符号,这里的含义是使用符合条件的新版本,而不是看到的这个版本。</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">vue</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">^2.6.10</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><ul><li>解决方法</li></ul><p>修改package.json中 vue 和 vue-template-compiler的版本将版本前面的&quot;^&quot;&quot;~&quot;符号去掉具体版本号和CDN中的vue版本保持一致。</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">vue</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">2.6.10</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C792EA;">vue-template-compiler</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">2.6.10</span><span style="color:#89DDFF;">&quot;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><p>删除 package-lock.json 文件 和 node_modules中的全部包。</p><p>重新安装所有依赖,然后运行查看效果。</p></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/js-preview.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>非Vue框架进行文件预览</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/contact.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>联系我</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -128,7 +128,7 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><!----></div><div class="pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/preview-docx.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>docx文件预览</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -78,7 +78,7 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">CMapReaderFactory</span><span style="color:#89DDFF;">?:</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Object</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">useSystemFonts</span><span style="color:#89DDFF;">?:</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">boolean</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span></code></pre></div><h3 id="preview方法" tabindex="-1">preview方法 <a class="header-anchor" href="#preview方法" aria-label="Permalink to &quot;preview方法&quot;"></a></h3><p>调用preview方法进行文件的预览。</p><p>preview方法接收参数支持三种 文件url地址、文件ArrayBuffer格式数据、文件blob格式。</p><div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">preview</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">src</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">string</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">ArrayBuffer</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Blob</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">Promise</span><span style="color:#89DDFF;">&lt;</span><span style="color:#A6ACCD;">any</span><span style="color:#89DDFF;">&gt;</span></span></code></pre></div><p>url格式适合有文件静态地址的情况ArrayBuffer格式适合文件上传前的预览。</p><h3 id="download方法" tabindex="-1">download方法 <a class="header-anchor" href="#download方法" aria-label="Permalink to &quot;download方法&quot;"></a></h3><p>调用download进行文件下载参数名为下载的文件名称可不传。</p><div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">download</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">fileName</span><span style="color:#89DDFF;">?:</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">string</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">void;</span></span></code></pre></div><h3 id="destroy方法" tabindex="-1">destroy方法 <a class="header-anchor" href="#destroy方法" aria-label="Permalink to &quot;destroy方法&quot;"></a></h3><p>卸载方法,可以在组件销毁前调用预览对象的卸载方法,避免长期使用造成内存泄露。</p><h2 id="如果该项目帮助了您-还请您不吝点赞" tabindex="-1">如果该项目帮助了您,还请您不吝点赞 <a class="header-anchor" href="#如果该项目帮助了您-还请您不吝点赞" aria-label="Permalink to &quot;如果该项目帮助了您,还请您不吝点赞&quot;"></a></h2></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/preview-pdf.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>pdf文件预览</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/faq.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>常见问题</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -121,7 +121,7 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>快速上手</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/preview-xlsx.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>xlsx文件预览</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -45,7 +45,7 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span></code></pre></div><h2 id="上传文件预览" tabindex="-1">上传文件预览 <a class="header-anchor" href="#上传文件预览" aria-label="Permalink to &quot;上传文件预览&quot;"></a></h2><p>和docx的上传文件预览一样获取文件的ArrayBuffer传给组件的src属性。</p></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/preview-xlsx.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>xlsx文件预览</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/js-preview.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>非Vue框架进行文件预览</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -48,7 +48,7 @@
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span></code></pre></div><h2 id="上传文件预览" tabindex="-1">上传文件预览 <a class="header-anchor" href="#上传文件预览" aria-label="Permalink to &quot;上传文件预览&quot;"></a></h2><p>和docx的上传文件预览一样获取文件的ArrayBuffer传给组件的src属性。</p></div></div></main><footer class="VPDocFooter" data-v-76ac46f7 data-v-a9a244d8><!--[--><!--]--><!----><div class="prev-next" data-v-a9a244d8><div class="pager" data-v-a9a244d8><a class="pager-link prev" href="/vue-office/examples/docs/guide/preview-docx.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>上一页</span><span class="title" data-v-a9a244d8>docx文件预览</span></a></div><div class="has-prev pager" data-v-a9a244d8><a class="pager-link next" href="/vue-office/examples/docs/guide/preview-pdf.html" data-v-a9a244d8><span class="desc" data-v-a9a244d8>下一页</span><span class="title" data-v-a9a244d8>pdf文件预览</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>__VP_HASH_MAP__ = JSON.parse("{\"config_event.md\":\"cbedfdd0\",\"guide_index.md\":\"59f780b1\",\"config_index.md\":\"da90cec3\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"guide_contact.md\":\"10c84e73\",\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"32e428fb\"}")
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_preview-pdf.md\":\"9bd426ea\",\"guide_preview-docx.md\":\"747caaea\",\"index.md\":\"2dfe7e9d\",\"guide_preview-xlsx.md\":\"0de0ac4e\",\"config_event.md\":\"cbedfdd0\",\"guide_contact.md\":\"10c84e73\",\"config_index.md\":\"4b837d8d\",\"guide_index.md\":\"59f780b1\",\"guide_js-preview.md\":\"873b3161\",\"guide_faq.md\":\"fc7d1e4f\"}")
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"vue-office\",\"description\":\"更简单的office文件预览\",\"base\":\"/vue-office/examples/docs/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\"},{\"text\":\"配置参考\",\"link\":\"/config/\"},{\"text\":\"演示预览效果\",\"link\":\"https://501351981.github.io/vue-office/examples/dist/\"}],\"outlineTitle\":\"跳转到\",\"docFooter\":{\"next\":\"下一页\",\"prev\":\"上一页\"},\"sidebar\":{\"/guide\":[{\"text\":\"指南\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/guide/\"},{\"text\":\"docx文件预览\",\"link\":\"/guide/preview-docx\"},{\"text\":\"xlsx文件预览\",\"link\":\"/guide/preview-xlsx\"},{\"text\":\"pdf文件预览\",\"link\":\"/guide/preview-pdf\"},{\"text\":\"非Vue框架进行文件预览\",\"link\":\"/guide/js-preview\"},{\"text\":\"常见问题\",\"link\":\"/guide/faq\"},{\"text\":\"联系我\",\"link\":\"/guide/contact\"}]}],\"/config\":[{\"text\":\"配置参考\",\"items\":[{\"text\":\"属性\",\"link\":\"/config/\"},{\"text\":\"事件\",\"link\":\"/config/event\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/501351981/vue-office\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
</body>

View File

@ -1 +1 @@
{"config_event.md":"cbedfdd0","guide_index.md":"59f780b1","config_index.md":"da90cec3","index.md":"2dfe7e9d","guide_preview-xlsx.md":"0de0ac4e","guide_contact.md":"10c84e73","guide_preview-pdf.md":"9bd426ea","guide_preview-docx.md":"747caaea","guide_js-preview.md":"873b3161","guide_faq.md":"32e428fb"}
{"guide_preview-pdf.md":"9bd426ea","guide_preview-docx.md":"747caaea","index.md":"2dfe7e9d","guide_preview-xlsx.md":"0de0ac4e","config_event.md":"cbedfdd0","guide_contact.md":"10c84e73","config_index.md":"4b837d8d","guide_index.md":"59f780b1","guide_js-preview.md":"873b3161","guide_faq.md":"fc7d1e4f"}

File diff suppressed because one or more lines are too long