docgen-utils 1.0.28 → 1.0.29
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/README.md +3 -3
- package/dist/bundle.js +48 -27
- package/dist/bundle.min.js +77 -77
- package/dist/cli.js +140 -77
- package/dist/packages/cli/commands/export-docs.d.ts +1 -0
- package/dist/packages/cli/commands/export-docs.d.ts.map +1 -1
- package/dist/packages/cli/commands/export-docs.js +15 -5
- package/dist/packages/cli/commands/export-docs.js.map +1 -1
- package/dist/packages/cli/commands/export-slides.d.ts +1 -1
- package/dist/packages/cli/commands/export-slides.d.ts.map +1 -1
- package/dist/packages/cli/commands/export-slides.js +15 -5
- package/dist/packages/cli/commands/export-slides.js.map +1 -1
- package/dist/packages/cli/index.js +9 -6
- package/dist/packages/cli/index.js.map +1 -1
- package/dist/packages/shared/convert-to-pdf.d.ts +16 -0
- package/dist/packages/shared/convert-to-pdf.d.ts.map +1 -0
- package/dist/packages/shared/convert-to-pdf.js +65 -0
- package/dist/packages/shared/convert-to-pdf.js.map +1 -0
- package/dist/packages/slides/common.d.ts +14 -0
- package/dist/packages/slides/common.d.ts.map +1 -1
- package/dist/packages/slides/parse.d.ts.map +1 -1
- package/dist/packages/slides/parse.js +31 -0
- package/dist/packages/slides/parse.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-slides.js","sourceRoot":"","sources":["../../../../packages/cli/commands/export-slides.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"export-slides.js","sourceRoot":"","sources":["../../../../packages/cli/commands/export-slides.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,20 +11,21 @@ docgen - Import and export DOCX and PPTX files
|
|
|
11
11
|
Usage:
|
|
12
12
|
docgen import docx --file=<file.docx> --out-dir=<dir> [--name=<filename>]
|
|
13
13
|
docgen import pptx --file=<file.pptx> --out-dir=<dir> [--name=<filename>]
|
|
14
|
-
docgen export docs --file=<file.html> --out-dir=<dir> [--name=<filename>] [--pageless]
|
|
15
|
-
docgen export slides --files=<slide1.html,slide2.html> --out-dir=<dir> [--name=<filename>]
|
|
14
|
+
docgen export docs --file=<file.html> --out-dir=<dir> [--name=<filename>] [--pageless] [--pdf]
|
|
15
|
+
docgen export slides --files=<slide1.html,slide2.html> --out-dir=<dir> [--name=<filename>] [--pdf]
|
|
16
16
|
|
|
17
17
|
Commands:
|
|
18
18
|
import docx Convert DOCX to HTML
|
|
19
19
|
import pptx Convert PPTX to HTML (one file per slide)
|
|
20
|
-
export docs Convert HTML to DOCX
|
|
21
|
-
export slides Convert HTML slides to PPTX (
|
|
20
|
+
export docs Convert HTML to DOCX (or PDF via LibreOffice)
|
|
21
|
+
export slides Convert HTML slides to PPTX (or PDF via LibreOffice)
|
|
22
22
|
|
|
23
23
|
Options:
|
|
24
24
|
--file=<path> Input file (for import docx/pptx and export docs)
|
|
25
25
|
--files=<paths> Comma-separated input files (for export slides)
|
|
26
26
|
--out-dir=<dir> Output directory (default: current directory)
|
|
27
27
|
--name=<filename> Output filename without extension
|
|
28
|
+
--pdf Export as PDF via LibreOffice (instead of DOCX/PPTX)
|
|
28
29
|
--pageless Create a continuous document without page breaks (for export docs)
|
|
29
30
|
--help Show this help message
|
|
30
31
|
`;
|
|
@@ -44,12 +45,14 @@ async function main() {
|
|
|
44
45
|
files: { type: "string" },
|
|
45
46
|
"out-dir": { type: "string", default: "." },
|
|
46
47
|
name: { type: "string" },
|
|
48
|
+
pdf: { type: "boolean", default: false },
|
|
47
49
|
pageless: { type: "boolean", default: false },
|
|
48
50
|
},
|
|
49
51
|
allowPositionals: false,
|
|
50
52
|
});
|
|
51
53
|
const outDir = values["out-dir"];
|
|
52
54
|
const outputName = values.name;
|
|
55
|
+
const pdf = values.pdf;
|
|
53
56
|
const pageless = values.pageless;
|
|
54
57
|
// Ensure output directory exists
|
|
55
58
|
if (!fs.existsSync(outDir)) {
|
|
@@ -75,7 +78,7 @@ async function main() {
|
|
|
75
78
|
console.error("Error: --file is required for export docs");
|
|
76
79
|
process.exit(1);
|
|
77
80
|
}
|
|
78
|
-
await exportDocs(values.file, outDir, { name: outputName, pageless });
|
|
81
|
+
await exportDocs(values.file, outDir, { name: outputName, pageless, pdf });
|
|
79
82
|
}
|
|
80
83
|
else if (command === "export" && subcommand === "slides") {
|
|
81
84
|
if (!values.files) {
|
|
@@ -83,7 +86,7 @@ async function main() {
|
|
|
83
86
|
process.exit(1);
|
|
84
87
|
}
|
|
85
88
|
const files = values.files.split(",").map(f => f.trim());
|
|
86
|
-
await exportSlides(files, outDir, outputName);
|
|
89
|
+
await exportSlides(files, outDir, outputName, pdf);
|
|
87
90
|
}
|
|
88
91
|
else {
|
|
89
92
|
console.error(`Unknown command: ${command} ${subcommand ?? ""}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert Office documents (DOCX, PPTX) to PDF using LibreOffice.
|
|
3
|
+
*
|
|
4
|
+
* Requires LibreOffice installed on the system (`soffice` in PATH or
|
|
5
|
+
* at the standard macOS location).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Convert an Office document to PDF using LibreOffice's headless mode.
|
|
9
|
+
*
|
|
10
|
+
* @param inputPath - Absolute path to the .docx or .pptx file.
|
|
11
|
+
* @param outputDir - Directory where the resulting .pdf will be written.
|
|
12
|
+
* @returns Absolute path to the generated PDF file.
|
|
13
|
+
* @throws If LibreOffice is not found or conversion fails.
|
|
14
|
+
*/
|
|
15
|
+
export declare function convertOfficeToPdf(inputPath: string, outputDir: string): string;
|
|
16
|
+
//# sourceMappingURL=convert-to-pdf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-to-pdf.d.ts","sourceRoot":"","sources":["../../../packages/shared/convert-to-pdf.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CA+BR"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert Office documents (DOCX, PPTX) to PDF using LibreOffice.
|
|
3
|
+
*
|
|
4
|
+
* Requires LibreOffice installed on the system (`soffice` in PATH or
|
|
5
|
+
* at the standard macOS location).
|
|
6
|
+
*/
|
|
7
|
+
import { spawnSync } from "node:child_process";
|
|
8
|
+
import * as fs from "node:fs";
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
/**
|
|
11
|
+
* Locate the LibreOffice `soffice` binary.
|
|
12
|
+
* Checks PATH first, then the default macOS application path.
|
|
13
|
+
*/
|
|
14
|
+
function findLibreOffice() {
|
|
15
|
+
// Check if soffice is available in PATH
|
|
16
|
+
const whichResult = spawnSync("which", ["soffice"], {
|
|
17
|
+
stdio: "pipe",
|
|
18
|
+
encoding: "utf-8",
|
|
19
|
+
});
|
|
20
|
+
if (whichResult.status === 0 && whichResult.stdout.trim()) {
|
|
21
|
+
return whichResult.stdout.trim();
|
|
22
|
+
}
|
|
23
|
+
// macOS default location
|
|
24
|
+
const macPath = "/Applications/LibreOffice.app/Contents/MacOS/soffice";
|
|
25
|
+
if (fs.existsSync(macPath)) {
|
|
26
|
+
return macPath;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Convert an Office document to PDF using LibreOffice's headless mode.
|
|
32
|
+
*
|
|
33
|
+
* @param inputPath - Absolute path to the .docx or .pptx file.
|
|
34
|
+
* @param outputDir - Directory where the resulting .pdf will be written.
|
|
35
|
+
* @returns Absolute path to the generated PDF file.
|
|
36
|
+
* @throws If LibreOffice is not found or conversion fails.
|
|
37
|
+
*/
|
|
38
|
+
export function convertOfficeToPdf(inputPath, outputDir) {
|
|
39
|
+
const soffice = findLibreOffice();
|
|
40
|
+
if (!soffice) {
|
|
41
|
+
throw new Error("LibreOffice not found. Ensure 'soffice' is installed and in your PATH.");
|
|
42
|
+
}
|
|
43
|
+
const result = spawnSync(soffice, [
|
|
44
|
+
"--headless",
|
|
45
|
+
"--convert-to",
|
|
46
|
+
"pdf",
|
|
47
|
+
"--outdir",
|
|
48
|
+
outputDir,
|
|
49
|
+
inputPath,
|
|
50
|
+
], {
|
|
51
|
+
stdio: "pipe",
|
|
52
|
+
encoding: "utf-8",
|
|
53
|
+
});
|
|
54
|
+
if (result.status !== 0) {
|
|
55
|
+
throw new Error(`LibreOffice conversion failed: ${result.stderr}`);
|
|
56
|
+
}
|
|
57
|
+
const extension = path.extname(inputPath);
|
|
58
|
+
const basename = path.basename(inputPath, extension);
|
|
59
|
+
const pdfPath = path.join(outputDir, `${basename}.pdf`);
|
|
60
|
+
if (!fs.existsSync(pdfPath)) {
|
|
61
|
+
throw new Error(`PDF file was not created at: ${pdfPath}`);
|
|
62
|
+
}
|
|
63
|
+
return pdfPath;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=convert-to-pdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-to-pdf.js","sourceRoot":"","sources":["../../../packages/shared/convert-to-pdf.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;GAGG;AACH,SAAS,eAAe;IACtB,wCAAwC;IACxC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;QAClD,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1D,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,yBAAyB;IACzB,MAAM,OAAO,GAAG,sDAAsD,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,SAAiB;IAEjB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE;QAChC,YAAY;QACZ,cAAc;QACd,KAAK;QACL,UAAU;QACV,SAAS;QACT,SAAS;KACV,EAAE;QACD,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -265,6 +265,8 @@ export interface TextElement {
|
|
|
265
265
|
text: string | TextRun[];
|
|
266
266
|
position: Position;
|
|
267
267
|
style: ElementStyle;
|
|
268
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
269
|
+
zIndex?: number;
|
|
268
270
|
}
|
|
269
271
|
/**
|
|
270
272
|
* A shape element: `<div>` or `<span>` with a background color, gradient,
|
|
@@ -284,6 +286,8 @@ export interface ShapeElement {
|
|
|
284
286
|
position: Position;
|
|
285
287
|
/** Visual shape properties (fill, gradient, border, shadow, rounding). */
|
|
286
288
|
shape: ShapeProperties;
|
|
289
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
290
|
+
zIndex?: number;
|
|
287
291
|
}
|
|
288
292
|
/**
|
|
289
293
|
* An image element: `<img>`.
|
|
@@ -320,6 +324,8 @@ export interface ImageElement {
|
|
|
320
324
|
saturation?: number;
|
|
321
325
|
/** CSS opacity on the image element (0–100, where 100 = fully transparent). */
|
|
322
326
|
transparency?: number;
|
|
327
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
328
|
+
zIndex?: number;
|
|
323
329
|
}
|
|
324
330
|
/**
|
|
325
331
|
* A full-slide background image: an `<img>` that covers >= 95% of the slide
|
|
@@ -351,6 +357,8 @@ export interface SlideBackgroundImageElement {
|
|
|
351
357
|
saturation?: number;
|
|
352
358
|
/** CSS opacity on the image element (0–100, where 100 = fully transparent). */
|
|
353
359
|
transparency?: number;
|
|
360
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
361
|
+
zIndex?: number;
|
|
354
362
|
}
|
|
355
363
|
/**
|
|
356
364
|
* A background image on a `<div>` (CSS `background-image: url(...)`).
|
|
@@ -360,6 +368,8 @@ export interface BackgroundImageElement {
|
|
|
360
368
|
src: string;
|
|
361
369
|
position: Position;
|
|
362
370
|
sizing: ImageSizing | null;
|
|
371
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
372
|
+
zIndex?: number;
|
|
363
373
|
}
|
|
364
374
|
/**
|
|
365
375
|
* A border line element.
|
|
@@ -383,6 +393,8 @@ export interface LineElement {
|
|
|
383
393
|
color: string;
|
|
384
394
|
/** Line transparency (percent 0-100). Derived from rgba alpha channel. `null` if opaque. */
|
|
385
395
|
transparency?: number | null;
|
|
396
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
397
|
+
zIndex?: number;
|
|
386
398
|
}
|
|
387
399
|
/**
|
|
388
400
|
* A bullet list element: `<ul>` or `<ol>`.
|
|
@@ -397,6 +409,8 @@ export interface ListElement {
|
|
|
397
409
|
items: TextRun[];
|
|
398
410
|
position: Position;
|
|
399
411
|
style: ElementStyle;
|
|
412
|
+
/** CSS z-index value for stacking order. Elements with higher z-index render on top. */
|
|
413
|
+
zIndex?: number;
|
|
400
414
|
}
|
|
401
415
|
/**
|
|
402
416
|
* Discriminated union of all slide element types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../packages/slides/common.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../packages/slides/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAeZ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../packages/slides/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,WAAW,EAeZ,MAAM,UAAU,CAAC;AAikFlB;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAonKzD"}
|
|
@@ -71,6 +71,20 @@ function extractAlpha(rgbStr) {
|
|
|
71
71
|
const alpha = parseFloat(match[4]);
|
|
72
72
|
return Math.round((1 - alpha) * 100);
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Extract z-index from computed style.
|
|
76
|
+
* Returns undefined if z-index is 'auto' or not explicitly set.
|
|
77
|
+
* Used for element stacking order in PPTX.
|
|
78
|
+
*/
|
|
79
|
+
function extractZIndex(computed) {
|
|
80
|
+
const zIndex = computed.zIndex;
|
|
81
|
+
if (zIndex === 'auto' || zIndex === '')
|
|
82
|
+
return undefined;
|
|
83
|
+
const parsed = parseInt(zIndex, 10);
|
|
84
|
+
if (isNaN(parsed))
|
|
85
|
+
return undefined;
|
|
86
|
+
return parsed;
|
|
87
|
+
}
|
|
74
88
|
/**
|
|
75
89
|
* Compute the effective (accumulated) opacity for an element by multiplying
|
|
76
90
|
* the element's own opacity with all ancestor opacities.
|
|
@@ -1485,6 +1499,9 @@ function extractPseudoElements(el, win) {
|
|
|
1485
1499
|
const parentRect = el.getBoundingClientRect();
|
|
1486
1500
|
if (parentRect.width <= 0 || parentRect.height <= 0)
|
|
1487
1501
|
return results;
|
|
1502
|
+
// Get parent element's z-index for inheritance by pseudo-elements
|
|
1503
|
+
const parentComputed = win.getComputedStyle(el);
|
|
1504
|
+
const parentZIndex = extractZIndex(parentComputed);
|
|
1488
1505
|
for (const pseudo of ['::before', '::after']) {
|
|
1489
1506
|
const pComputed = win.getComputedStyle(el, pseudo);
|
|
1490
1507
|
// Skip if no content or content is 'none'
|
|
@@ -2166,6 +2183,7 @@ function extractPseudoElements(el, win) {
|
|
|
2166
2183
|
cssTriangle: null,
|
|
2167
2184
|
customGeometry: asymmetricCornerGeometry,
|
|
2168
2185
|
},
|
|
2186
|
+
zIndex: parentZIndex,
|
|
2169
2187
|
};
|
|
2170
2188
|
results.push(shapeElement);
|
|
2171
2189
|
// Add additional shape elements for extra gradient layers
|
|
@@ -2190,6 +2208,7 @@ function extractPseudoElements(el, win) {
|
|
|
2190
2208
|
cssTriangle: null,
|
|
2191
2209
|
customGeometry: null,
|
|
2192
2210
|
},
|
|
2211
|
+
zIndex: parentZIndex,
|
|
2193
2212
|
};
|
|
2194
2213
|
results.push(extraShape);
|
|
2195
2214
|
}
|
|
@@ -2604,6 +2623,7 @@ export function parseSlideHtml(doc) {
|
|
|
2604
2623
|
cssTriangle: null,
|
|
2605
2624
|
customGeometry: null,
|
|
2606
2625
|
},
|
|
2626
|
+
zIndex: extractZIndex(computed),
|
|
2607
2627
|
};
|
|
2608
2628
|
elements.push(shapeElement);
|
|
2609
2629
|
// Handle accent borders (border-left/border-right) that are thicker than the base
|
|
@@ -3192,6 +3212,7 @@ export function parseSlideHtml(doc) {
|
|
|
3192
3212
|
cssTriangle: null,
|
|
3193
3213
|
customGeometry: null,
|
|
3194
3214
|
},
|
|
3215
|
+
zIndex: extractZIndex(computed),
|
|
3195
3216
|
};
|
|
3196
3217
|
elements.push(shapeElement);
|
|
3197
3218
|
// Handle accent borders (border-left/border-right) that are thicker than the base
|
|
@@ -6231,6 +6252,7 @@ export function parseSlideHtml(doc) {
|
|
|
6231
6252
|
return points;
|
|
6232
6253
|
})() : null),
|
|
6233
6254
|
},
|
|
6255
|
+
zIndex: extractZIndex(computed),
|
|
6234
6256
|
};
|
|
6235
6257
|
// Apply CSS padding as text body insets when shape has text content
|
|
6236
6258
|
if (hasPadding && shapeElement.style && (shapeText || (shapeTextRuns && shapeTextRuns.length > 0))) {
|
|
@@ -7272,6 +7294,15 @@ export function parseSlideHtml(doc) {
|
|
|
7272
7294
|
const pseudoElements = extractPseudoElements(htmlDiv, win);
|
|
7273
7295
|
elements.push(...pseudoElements);
|
|
7274
7296
|
});
|
|
7297
|
+
// Sort elements by z-index for proper stacking order in PPTX.
|
|
7298
|
+
// PPTX renders shapes in XML order (later = on top), so we sort by z-index
|
|
7299
|
+
// to ensure elements with higher z-index appear later in the array.
|
|
7300
|
+
// Elements without z-index (undefined) are treated as z-index: 0.
|
|
7301
|
+
elements.sort((a, b) => {
|
|
7302
|
+
const zIndexA = ('zIndex' in a && a.zIndex !== undefined) ? a.zIndex : 0;
|
|
7303
|
+
const zIndexB = ('zIndex' in b && b.zIndex !== undefined) ? b.zIndex : 0;
|
|
7304
|
+
return zIndexA - zIndexB;
|
|
7305
|
+
});
|
|
7275
7306
|
return { background, elements, placeholders, errors };
|
|
7276
7307
|
}
|
|
7277
7308
|
//# sourceMappingURL=parse.js.map
|