perf: 优化PPTX导入效果

This commit is contained in:
pipipi-pikachu 2025-01-11 20:51:51 +08:00
parent dbdab187e5
commit 53751c1d35
3 changed files with 13 additions and 11 deletions

18
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "pptist", "name": "pptist",
"version": "1.0.0", "version": "2.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "pptist", "name": "pptist",
"version": "1.0.0", "version": "2.0.0",
"dependencies": { "dependencies": {
"@icon-park/vue-next": "^1.4.2", "@icon-park/vue-next": "^1.4.2",
"animate.css": "^4.1.1", "animate.css": "^4.1.1",
@ -24,7 +24,7 @@
"number-precision": "^1.6.0", "number-precision": "^1.6.0",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"pptxgenjs": "^3.12.0", "pptxgenjs": "^3.12.0",
"pptxtojson": "^1.1.0", "pptxtojson": "^1.1.1",
"prosemirror-commands": "^1.6.0", "prosemirror-commands": "^1.6.0",
"prosemirror-dropcursor": "^1.8.1", "prosemirror-dropcursor": "^1.8.1",
"prosemirror-gapcursor": "^1.3.2", "prosemirror-gapcursor": "^1.3.2",
@ -4177,9 +4177,9 @@
} }
}, },
"node_modules/pptxtojson": { "node_modules/pptxtojson": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/pptxtojson/-/pptxtojson-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/pptxtojson/-/pptxtojson-1.1.1.tgz",
"integrity": "sha512-JJdk9vLwYq+p9T33cqT3O24CDK+0EU4XsNR1kGJxtSnO4QWGVmlkvX1Mmd2me4tSdGEeRX35+ljerwL/PFJabw==", "integrity": "sha512-J8K0BdRTlbVeKGu3tbK8qlSxAc8HKfnsn4ycANBsgPuVvsSEf9VmcmwH/tFJjLZgeoJ0qjo9v780pliAdZ85SA==",
"dependencies": { "dependencies": {
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tinycolor2": "1.6.0", "tinycolor2": "1.6.0",
@ -8393,9 +8393,9 @@
} }
}, },
"pptxtojson": { "pptxtojson": {
"version": "1.1.0", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/pptxtojson/-/pptxtojson-1.1.0.tgz", "resolved": "https://registry.npmmirror.com/pptxtojson/-/pptxtojson-1.1.1.tgz",
"integrity": "sha512-JJdk9vLwYq+p9T33cqT3O24CDK+0EU4XsNR1kGJxtSnO4QWGVmlkvX1Mmd2me4tSdGEeRX35+ljerwL/PFJabw==", "integrity": "sha512-J8K0BdRTlbVeKGu3tbK8qlSxAc8HKfnsn4ycANBsgPuVvsSEf9VmcmwH/tFJjLZgeoJ0qjo9v780pliAdZ85SA==",
"requires": { "requires": {
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tinycolor2": "1.6.0", "tinycolor2": "1.6.0",

View File

@ -29,7 +29,7 @@
"number-precision": "^1.6.0", "number-precision": "^1.6.0",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"pptxgenjs": "^3.12.0", "pptxgenjs": "^3.12.0",
"pptxtojson": "^1.1.0", "pptxtojson": "^1.1.1",
"prosemirror-commands": "^1.6.0", "prosemirror-commands": "^1.6.0",
"prosemirror-dropcursor": "^1.8.1", "prosemirror-dropcursor": "^1.8.1",
"prosemirror-gapcursor": "^1.3.2", "prosemirror-gapcursor": "^1.3.2",

View File

@ -190,7 +190,9 @@ export default () => {
} }
const parseElements = (elements: Element[]) => { const parseElements = (elements: Element[]) => {
for (const el of elements) { const sortedElements = elements.sort((a, b) => a.order - b.order)
for (const el of sortedElements) {
const originWidth = el.width || 1 const originWidth = el.width || 1
const originHeight = el.height || 1 const originHeight = el.height || 1
const originLeft = el.left const originLeft = el.left