diff --git a/core/packages/vue-excel/package.json b/core/packages/vue-excel/package.json index dbdaf20..ab29935 100644 --- a/core/packages/vue-excel/package.json +++ b/core/packages/vue-excel/package.json @@ -1,6 +1,6 @@ { "name": "@vue-office/excel", - "version": "1.4.4", + "version": "1.4.5", "description": "", "main": "lib/index.js", "files": [ diff --git a/core/packages/vue-excel/src/main.vue b/core/packages/vue-excel/src/main.vue index c6d8ce0..ea5a7e1 100644 --- a/core/packages/vue-excel/src/main.vue +++ b/core/packages/vue-excel/src/main.vue @@ -27,6 +27,7 @@ export default defineComponent({ }, emits: ['rendered', 'error'], setup(props, {emit}) { + console.log(props.options.transformData) const wrapperRef = ref(null); const rootRef = ref(null); let workbookDataSource = { @@ -45,7 +46,10 @@ export default defineComponent({ if (!workbook._worksheets || workbook._worksheets.length === 0) { throw new Error('未获取到数据,可能文件格式不正确或文件已损坏'); } - const {workbookData, medias, workbookSource} = transferExcelToSpreadSheet(workbook, {...defaultOptions, ...props.options}); + let {workbookData, medias, workbookSource} = transferExcelToSpreadSheet(workbook, {...defaultOptions, ...props.options}); + if(props.options.transformData && typeof props.options.transformData === 'function' ){ + workbookData = props.options.transformData(workbookData); + } mediasSource = medias; workbookDataSource = workbookSource; offset = null; diff --git a/core/packages/vue-pdf/package.json b/core/packages/vue-pdf/package.json index 79e6110..2594c77 100644 --- a/core/packages/vue-pdf/package.json +++ b/core/packages/vue-pdf/package.json @@ -1,6 +1,6 @@ { "name": "@vue-office/pdf", - "version": "1.5.2", + "version": "1.5.3", "description": "", "main": "lib/index.js", "files": [ diff --git a/core/packages/vue-pdf/src/main.vue b/core/packages/vue-pdf/src/main.vue index 6be822b..0a07750 100644 --- a/core/packages/vue-pdf/src/main.vue +++ b/core/packages/vue-pdf/src/main.vue @@ -67,7 +67,7 @@ export default defineComponent({ }); loadingTask.promise.then((pdf) => { pdfDocument = pdf; - numPages.value = Math.min(pdfDocument.numPages, lazySize); + numPages.value = props.options.lazy ? Math.min(pdfDocument.numPages, lazySize) : pdfDocument.numPages; setTimeout(()=>{ renderPage(1); }); @@ -77,6 +77,9 @@ export default defineComponent({ } function onScrollPdf(e) { + if(!props.options.lazy){ + return; + } const { scrollTop, scrollHeight, clientHeight } = e.target; if (scrollTop + clientHeight >= scrollHeight) { if (numPages.value >= pdfDocument.numPages) { @@ -179,6 +182,7 @@ export default defineComponent({
>3,t.mu=0):(t.epsilon=e[r]>>3,t.mu=(7&e[r])<<8|e[r+1],r+=2),u.push(t)}w.SPqcds=u,i.mainHeader?i.QCD=w:(i.currentTile.QCD=w,i.currentTile.QCC=[]);break;case 65373:p=(0,a.readUint16)(e,o);const v={};let x;switch(r=o+2,i.SIZ.Csiz<257?x=e[r++]:(x=(0,a.readUint16)(e,r),r+=2),c=e[r++],31&c){case 0:d=8,f=!0;break;case 1:d=16,f=!1;break;case 2:d=16,f=!0;break;default:throw new Error("Invalid SQcd value "+c)}for(v.noQuantization=8===d,v.scalarExpounded=f,v.guardBits=c>>5,u=[];r
>3,t.mu=0):(t.epsilon=e[r]>>3,t.mu=(7&e[r])<<8|e[r+1],r+=2),u.push(t)}v.SPqcds=u,i.mainHeader?i.QCC[x]=v:i.currentTile.QCC[x]=v;break;case 65362:p=(0,a.readUint16)(e,o);const k={};r=o+2;const C=e[r++];k.entropyCoderWithCustomPrecincts=!!(1&C),k.sopMarkerUsed=!!(2&C),k.ephMarkerUsed=!!(4&C),k.progressionOrder=e[r++],k.layersCount=(0,a.readUint16)(e,r),r+=2,k.multipleComponentTransform=e[r++],k.decompositionLevelsCount=e[r++],k.xcb=2+(15&e[r++]),k.ycb=2+(15&e[r++]);const F=e[r++];if(k.selectiveArithmeticCodingBypass=!!(1&F),k.resetContextProbabilities=!!(2&F),k.terminationOnEachCodingPass=!!(4&F),k.verticallyStripe=!!(8&F),k.predictableTermination=!!(16&F),k.segmentationSymbolUsed=!!(32&F),k.reversibleTransformation=e[r++],k.entropyCoderWithCustomPrecincts){const t=[];for(;r
>4})}k.precinctsSizes=t}const I=[];k.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),k.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),k.verticallyStripe&&I.push("verticallyStripe"),k.predictableTermination&&I.push("predictableTermination"),I.length>0&&(s=!0,(0,n.warn)("JPX: Unsupported COD options (".concat(I.join(", "),")."))),i.mainHeader?i.COD=k:(i.currentTile.COD=k,i.currentTile.COC=[]);break;case 65424:p=(0,a.readUint16)(e,o),g={},g.index=(0,a.readUint16)(e,o+2),g.length=(0,a.readUint32)(e,o+4),g.dataEnd=g.length+o-2,g.partIndex=e[o+8],g.partsCount=e[o+9],i.mainHeader=!1,0===g.partIndex&&(g.COD=i.COD,g.COC=i.COC.slice(0),g.QCD=i.QCD,g.QCC=i.QCC.slice(0)),i.currentTile=g;break;case 65427:g=i.currentTile,0===g.partIndex&&(O(i,g.index),S(i)),p=g.dataEnd-o,A(i,e,o,p);break;case 65363:(0,n.warn)("JPX: Codestream code 0xFF53 (COC) is not implemented.");case 65365:case 65367:case 65368:case 65380:p=(0,a.readUint16)(e,o);break;default:throw new Error("Unknown codestream code: "+t.toString(16))}o+=p}}catch(e){if(s||this.failOnCorruptedImage)throw new o(e.message);(0,n.warn)('JPX: Trying to recover from: "'.concat(e.message,'".'))}this.tiles=function(e){const t=e.SIZ,r=e.components,n=t.Csiz,a=[];for(let t=0,i=e.tiles.length;t>2);c[b++]=e+m>>h,c[b++]=e>>h,c[b++]=e+p>>h}else for(d=0;d0,o=t+10&&(c=r-a,s&&(n[c-1]+=16),o&&(n[c+1]+=16),n[c]+=4),e+1=r)break;if(s[d]&=-2,n[d]||!i[d])continue;const g=c[i[d]];if(e.readBit(o,g)){const e=this.decodeSignBit(t,u,d);a[d]=e,n[d]=1,this.setNeighborsSignificance(t,u,d),s[d]|=2}l[d]++,s[d]|=1}}}decodeSignBit(e,t,r){const n=this.width,a=this.height,i=this.coefficentsMagnitude,s=this.coefficentsSign;let o,c,l,h,u,d;h=t>0&&0!==i[r-1],t+1=0;t--)d[t]=o[r],r=l[r];else d[f++]=d[0]}if(a&&(l[s]=u,c[s]=c[u]+1,o[s]=d[0],s++,h=s+i&s+i-1?h:0|Math.min(Math.log(s+i)/.6931471805599453+1,12)),u=e,g+=f,n>8&255,o[r+1]=255&n,I(o,r+2,Math.round(e[t]*T(o[r+2],o[r+3])))}}let z=q+1,G=!0;z>65535&&(G=!1,z=q,(0,n.warn)("Not enough space in glyfs to duplicate first glyph."));let W=0,V=0;X>=65536&&O.maxp.length>=22&&(t.pos+=8,t.getUint16()>2&&(O.maxp.data[14]=0,O.maxp.data[15]=2),t.pos+=4,W=t.getUint16(),t.pos+=4,V=t.getUint16()),O.maxp.data[4]=z>>8,O.maxp.data[5]=255&z;const K=function(e,t,r,a){const i={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};if(e&&A(e,i),t&&A(t,i),e&&function(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t)(0,n.warn)("TT: more functions defined than expected"),e.hintsValid=!1;else for(let r=0,a=e.functionsUsed.length;rt)return(0,n.warn)("TT: invalid function id: "+r),void(e.hintsValid=!1);if(e.functionsUsed[r]&&!e.functionsDefined[r])return(0,n.warn)("TT: undefined function: "+r),void(e.hintsValid=!1)}}(i,a),r&&1&r.length){const e=new Uint8Array(r.length+1);e.set(r.data),r.data=e}return i.hintsValid}(O.fpgm,O.prep,O["cvt "],W);if(K||(delete O.fpgm,delete O.prep,delete O["cvt "]),function(e,t,r,a,i,s){if(!t)return void(r&&(r.data=null));e.pos=(e.start||0)+t.offset,e.pos+=4,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2,e.pos+=2;const o=e.getUint16();e.pos+=8,e.pos+=2;let c=e.getUint16();0!==o&&(2&F(a.data[44],a.data[45])||(t.data[22]=0,t.data[23]=0)),c>i&&((0,n.info)("The numOfMetrics (".concat(c,") should not be greater than the numGlyphs (").concat(i,").")),c=i,t.data[34]=(65280&c)>>8,t.data[35]=255&c);const l=i-c-(r.length-4*c>>1);if(l>0){const e=new Uint8Array(r.length+2*l);e.set(r.data),s&&(e[r.length]=r.data[2],e[r.length+1]=r.data[3]),r.data=e}}(t,O.hhea,O.hmtx,O.head,z,G),!O.head)throw new n.FormatError('Required "head" table is not found');!function(e,t,r){const a=e.data,i=function(e,t,r,n){return(e<<24)+(t<<16)+(r<<8)+n}(a[0],a[1],a[2],a[3]);i>>16!=1&&((0,n.info)("Attempting to fix invalid version in head table: "+i),a[0]=0,a[1]=1,a[2]=0,a[3]=0);const s=F(a[50],a[51]);if(s<0||s>1){(0,n.info)("Attempting to fix invalid indexToLocFormat in head table: "+s);const e=t+1;if(r===e<<1)a[50]=0,a[51]=0;else{if(r!==e<<2)throw new n.FormatError("Could not fix indexToLocFormat: "+s);a[50]=0,a[51]=1}}}(O.head,q,R?O.loca.length:0);let Y=Object.create(null);if(R){const e=F(O.head.data[50],O.head.data[51]),t=function(e,t,r,n,a,i,s){let o,c,l;n?(o=4,c=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},l=function(e,t,r){e[t]=r>>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r}):(o=2,c=function(e,t){return e[t]<<9|e[t+1]<<1},l=function(e,t,r){e[t]=r>>9&255,e[t+1]=r>>1&255});const h=i?r+1:r,u=o*(1+h),d=new Uint8Array(u);d.set(e.data.subarray(0,u)),e.data=d;const f=t.data,g=f.length,p=new Uint8Array(g);let m,b;const y=[];for(m=0,b=0;m
>>0;let d=!1;if((null===(h=c)||void 0===h?void 0:h.platformId)!==n||(null===(u=c)||void 0===u?void 0:u.encodingId)!==i){if(0!==n||0!==i&&1!==i&&3!==i)if(1===n&&0===i)d=!0;else if(3!==n||1!==i||!a&&c){if(r&&3===n&&0===i){d=!0;let r=!0;if(e
55295&&(s<57344||s>65533)&&i++,this.toUnicode){const e=a(s);if(-1!==e){n()&&(t.push(r.join("")),r.length=0);for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)r.push(String.fromCharCode(e>>8*t&255));continue}}n()||(t.push(r.join("")),r.length=0),r.push(String.fromCodePoint(s))}return t.push(r.join("")),t}},t.ErrorFont=class{constructor(e){this.error=e,this.loadedName="g_font_error",this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(){return{error:this.error}}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CFFTopDict=t.CFFStrings=t.CFFStandardStrings=t.CFFPrivateDict=t.CFFParser=t.CFFIndex=t.CFFHeader=t.CFFFDSelect=t.CFFCompiler=t.CFFCharset=t.CFF=void 0,r(139),r(84),r(93),r(94),r(97),r(99),r(101),r(105),r(108),r(115);var n=r(144),a=r(186),i=r(187);const s=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];t.CFFStandardStrings=s;const o=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],c=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];t.CFFParser=class{constructor(e,t,r){this.bytes=e.getBytes(),this.properties=t,this.seacAnalysisEnabled=!!r}parse(){const e=this.properties,t=new l;this.cff=t;const r=this.parseHeader(),n=this.parseIndex(r.endPos),a=this.parseIndex(n.endPos),i=this.parseIndex(a.endPos),s=this.parseIndex(i.endPos),o=this.parseDict(a.obj.get(0)),c=this.createDict(p,o,t.strings);t.header=r.obj,t.names=this.parseNameIndex(n.obj),t.strings=this.parseStringIndex(i.obj),t.topDict=c,t.globalSubrIndex=s.obj,this.parsePrivateDict(t.topDict),t.isCIDFont=c.hasName("ROS");const h=c.getByName("CharStrings"),u=this.parseIndex(h).obj,d=c.getByName("FontMatrix");d&&(e.fontMatrix=d);const f=c.getByName("FontBBox");let g,m;if(f&&(e.ascent=Math.max(f[3],f[1]),e.descent=Math.min(f[1],f[3]),e.ascentScaled=!0),t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let r=0,n=e.count;r10)return!1;let i=e.stackSize;const s=e.stack;let l=t.length;for(let h=0;h