pptx-glimpse 0.10.3 → 0.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +12 -4
- package/dist/index.js +12 -4
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -9165,13 +9165,21 @@ async function convertPptxToPng(input, options) {
|
|
|
9165
9165
|
return results;
|
|
9166
9166
|
}
|
|
9167
9167
|
function mergeElements(masterElements, layoutElements, slideElements) {
|
|
9168
|
-
const
|
|
9168
|
+
const filterTemplatePlaceholders = (elements) => elements.filter((el) => {
|
|
9169
9169
|
if (el.type !== "shape") return true;
|
|
9170
9170
|
return !el.placeholderType;
|
|
9171
9171
|
});
|
|
9172
|
-
const
|
|
9173
|
-
const
|
|
9174
|
-
|
|
9172
|
+
const filterEmptySlidePlaceholders = (elements) => elements.filter((el) => !(el.type === "shape" && isEmptyPlaceholder(el)));
|
|
9173
|
+
const filteredMaster = filterTemplatePlaceholders(masterElements);
|
|
9174
|
+
const filteredLayout = filterTemplatePlaceholders(layoutElements);
|
|
9175
|
+
const filteredSlide = filterEmptySlidePlaceholders(slideElements);
|
|
9176
|
+
return [...filteredMaster, ...filteredLayout, ...filteredSlide];
|
|
9177
|
+
}
|
|
9178
|
+
function isEmptyPlaceholder(shape) {
|
|
9179
|
+
if (!shape.placeholderType) return false;
|
|
9180
|
+
const paragraphs = shape.textBody?.paragraphs;
|
|
9181
|
+
if (!paragraphs || paragraphs.length === 0) return true;
|
|
9182
|
+
return !paragraphs.some((p) => p.runs.some((r) => r.text.length > 0));
|
|
9175
9183
|
}
|
|
9176
9184
|
|
|
9177
9185
|
// src/font/font-collector.ts
|
package/dist/index.js
CHANGED
|
@@ -9127,13 +9127,21 @@ async function convertPptxToPng(input, options) {
|
|
|
9127
9127
|
return results;
|
|
9128
9128
|
}
|
|
9129
9129
|
function mergeElements(masterElements, layoutElements, slideElements) {
|
|
9130
|
-
const
|
|
9130
|
+
const filterTemplatePlaceholders = (elements) => elements.filter((el) => {
|
|
9131
9131
|
if (el.type !== "shape") return true;
|
|
9132
9132
|
return !el.placeholderType;
|
|
9133
9133
|
});
|
|
9134
|
-
const
|
|
9135
|
-
const
|
|
9136
|
-
|
|
9134
|
+
const filterEmptySlidePlaceholders = (elements) => elements.filter((el) => !(el.type === "shape" && isEmptyPlaceholder(el)));
|
|
9135
|
+
const filteredMaster = filterTemplatePlaceholders(masterElements);
|
|
9136
|
+
const filteredLayout = filterTemplatePlaceholders(layoutElements);
|
|
9137
|
+
const filteredSlide = filterEmptySlidePlaceholders(slideElements);
|
|
9138
|
+
return [...filteredMaster, ...filteredLayout, ...filteredSlide];
|
|
9139
|
+
}
|
|
9140
|
+
function isEmptyPlaceholder(shape) {
|
|
9141
|
+
if (!shape.placeholderType) return false;
|
|
9142
|
+
const paragraphs = shape.textBody?.paragraphs;
|
|
9143
|
+
if (!paragraphs || paragraphs.length === 0) return true;
|
|
9144
|
+
return !paragraphs.some((p) => p.runs.some((r) => r.text.length > 0));
|
|
9137
9145
|
}
|
|
9138
9146
|
|
|
9139
9147
|
// src/font/font-collector.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pptx-glimpse",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.4",
|
|
4
4
|
"description": "A lightweight JavaScript library for rendering PowerPoint (.pptx) files as SVG or PNG in Node.js. No LibreOffice required.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"license": "MIT",
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
68
|
-
"fast-xml-parser": "^5.3
|
|
68
|
+
"fast-xml-parser": "^5.7.3",
|
|
69
69
|
"fflate": "^0.8.2",
|
|
70
70
|
"opentype.js": "^1.3.4"
|
|
71
71
|
},
|