docgen-utils 1.0.5
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 +118 -0
- package/dist/bundle.js +36086 -0
- package/dist/bundle.min.js +197 -0
- package/dist/cli.js +47432 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/packages/cli/commands/export-docs.d.ts +5 -0
- package/dist/packages/cli/commands/export-docs.d.ts.map +1 -0
- package/dist/packages/cli/commands/export-docs.js +24 -0
- package/dist/packages/cli/commands/export-docs.js.map +1 -0
- package/dist/packages/cli/commands/export-slides.d.ts +5 -0
- package/dist/packages/cli/commands/export-slides.d.ts.map +1 -0
- package/dist/packages/cli/commands/export-slides.js +86 -0
- package/dist/packages/cli/commands/export-slides.js.map +1 -0
- package/dist/packages/cli/commands/import-docx.d.ts +5 -0
- package/dist/packages/cli/commands/import-docx.d.ts.map +1 -0
- package/dist/packages/cli/commands/import-docx.js +27 -0
- package/dist/packages/cli/commands/import-docx.js.map +1 -0
- package/dist/packages/cli/commands/import-pptx.d.ts +5 -0
- package/dist/packages/cli/commands/import-pptx.d.ts.map +1 -0
- package/dist/packages/cli/commands/import-pptx.js +44 -0
- package/dist/packages/cli/commands/import-pptx.js.map +1 -0
- package/dist/packages/cli/index.d.ts +11 -0
- package/dist/packages/cli/index.d.ts.map +1 -0
- package/dist/packages/cli/index.js +103 -0
- package/dist/packages/cli/index.js.map +1 -0
- package/dist/packages/docs/common.d.ts +183 -0
- package/dist/packages/docs/common.d.ts.map +1 -0
- package/dist/packages/docs/common.js +27 -0
- package/dist/packages/docs/common.js.map +1 -0
- package/dist/packages/docs/convert.d.ts +7 -0
- package/dist/packages/docs/convert.d.ts.map +1 -0
- package/dist/packages/docs/convert.js +1399 -0
- package/dist/packages/docs/convert.js.map +1 -0
- package/dist/packages/docs/create-document.d.ts +30 -0
- package/dist/packages/docs/create-document.d.ts.map +1 -0
- package/dist/packages/docs/create-document.js +170 -0
- package/dist/packages/docs/create-document.js.map +1 -0
- package/dist/packages/docs/export.d.ts +57 -0
- package/dist/packages/docs/export.d.ts.map +1 -0
- package/dist/packages/docs/export.js +430 -0
- package/dist/packages/docs/export.js.map +1 -0
- package/dist/packages/docs/import-docx.d.ts +13 -0
- package/dist/packages/docs/import-docx.d.ts.map +1 -0
- package/dist/packages/docs/import-docx.js +2299 -0
- package/dist/packages/docs/import-docx.js.map +1 -0
- package/dist/packages/docs/parse.d.ts +6 -0
- package/dist/packages/docs/parse.d.ts.map +1 -0
- package/dist/packages/docs/parse.js +4253 -0
- package/dist/packages/docs/parse.js.map +1 -0
- package/dist/packages/shared/dom-parser-shim.d.ts +30 -0
- package/dist/packages/shared/dom-parser-shim.d.ts.map +1 -0
- package/dist/packages/shared/dom-parser-shim.js +152 -0
- package/dist/packages/shared/dom-parser-shim.js.map +1 -0
- package/dist/packages/slides/common.d.ts +325 -0
- package/dist/packages/slides/common.d.ts.map +1 -0
- package/dist/packages/slides/common.js +12 -0
- package/dist/packages/slides/common.js.map +1 -0
- package/dist/packages/slides/convert.d.ts +35 -0
- package/dist/packages/slides/convert.d.ts.map +1 -0
- package/dist/packages/slides/convert.js +308 -0
- package/dist/packages/slides/convert.js.map +1 -0
- package/dist/packages/slides/createPresentation.d.ts +51 -0
- package/dist/packages/slides/createPresentation.d.ts.map +1 -0
- package/dist/packages/slides/createPresentation.js +265 -0
- package/dist/packages/slides/createPresentation.js.map +1 -0
- package/dist/packages/slides/export.d.ts +24 -0
- package/dist/packages/slides/export.d.ts.map +1 -0
- package/dist/packages/slides/export.js +52 -0
- package/dist/packages/slides/export.js.map +1 -0
- package/dist/packages/slides/import-pptx.d.ts +13 -0
- package/dist/packages/slides/import-pptx.d.ts.map +1 -0
- package/dist/packages/slides/import-pptx.js +619 -0
- package/dist/packages/slides/import-pptx.js.map +1 -0
- package/dist/packages/slides/parse.d.ts +45 -0
- package/dist/packages/slides/parse.d.ts.map +1 -0
- package/dist/packages/slides/parse.js +1185 -0
- package/dist/packages/slides/parse.js.map +1 -0
- package/dist/packages/slides/transform.d.ts +37 -0
- package/dist/packages/slides/transform.d.ts.map +1 -0
- package/dist/packages/slides/transform.js +140 -0
- package/dist/packages/slides/transform.js.map +1 -0
- package/dist/packages/slides/vendor/VENDORING.md +58 -0
- package/dist/packages/slides/vendor/pptxgen.d.ts +805 -0
- package/dist/packages/slides/vendor/pptxgen.js +7442 -0
- package/package.json +57 -0
package/README.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# DocGen
|
|
2
|
+
|
|
3
|
+
Converts HTML into DOCX, PPTX and vice versa.
|
|
4
|
+
|
|
5
|
+
## Key Components
|
|
6
|
+
|
|
7
|
+
### Build & Distribution
|
|
8
|
+
|
|
9
|
+
| File | Description |
|
|
10
|
+
| ---------- | -------------------------------------------------------------- |
|
|
11
|
+
| `build.sh` | Builds the library |
|
|
12
|
+
| `dist/` | Output directory containing production-ready minified JS files |
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
### Build
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm run build
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### CLI
|
|
23
|
+
The CLI is used in the agent sandbox to transform artifacts.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
node dist/cli.js import docx --file=file.docx --out-dir=./output
|
|
27
|
+
node dist/cli.js import pptx --file=file.pptx --out-dir=./output
|
|
28
|
+
node dist/cli.js export docs --file=file.html --out-dir=./output
|
|
29
|
+
node dist/cli.js export slides --files=slide-1.html,slide-2.html --out-dir=./output
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Deploy
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm run deploy
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Visual Comparison
|
|
39
|
+
|
|
40
|
+
The `output` directory contains the rendered output in target formats. e.g. DOCX or PPTX vs HTML
|
|
41
|
+
|
|
42
|
+
- Files in `test-data/docs/` → converted to DOCX → `docx-render.jpg`
|
|
43
|
+
- Files in `test-data/slides/` → converted to PPTX → `pptx-render.jpg`
|
|
44
|
+
- Files in `test-data/pptx/` → imported to HTML → `html-render.jpg`
|
|
45
|
+
|
|
46
|
+
### Prerequisites
|
|
47
|
+
|
|
48
|
+
Install the required system dependencies:
|
|
49
|
+
|
|
50
|
+
**macOS:**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# LibreOffice (for DOCX/PPTX → PDF conversion)
|
|
54
|
+
brew install --cask libreoffice
|
|
55
|
+
# Poppler (for PDF → PNG conversion)
|
|
56
|
+
brew install poppler
|
|
57
|
+
# Chromium for Playwright
|
|
58
|
+
npx playwright install chromium
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Usage
|
|
62
|
+
|
|
63
|
+
Process a specific document (HTML -> DOCX):
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm run generate-output -- test-data/docs/doc-1.html
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Process a specific slide (HTML -> PPTX):
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run generate-output -- test-data/slides/slide-1.html
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Import a PPTX file (PPTX -> HTML):
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npm run generate-output -- test-data/pptx/presentation.pptx
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Process multiple files:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm run generate-all-docs-output # All docs
|
|
85
|
+
npm run generate-all-slides-output # All slides
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Output
|
|
89
|
+
|
|
90
|
+
The script generates the following structure:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
output/
|
|
94
|
+
├── doc-1.html/
|
|
95
|
+
│ ├── html-render.jpg # Screenshot of HTML (via Playwright)
|
|
96
|
+
│ ├── docx-render.jpg # DOCX rendered via LibreOffice
|
|
97
|
+
│ ├── diff.jpg # Visual diff highlighting differences
|
|
98
|
+
│ ├── output.docx # Generated DOCX file
|
|
99
|
+
│ └── report.json # Comparison metrics
|
|
100
|
+
├── slide-1.html/
|
|
101
|
+
│ ├── html-render.jpg # Screenshot of HTML (via Playwright)
|
|
102
|
+
│ ├── pptx-render.jpg # PPTX rendered via LibreOffice
|
|
103
|
+
│ ├── diff.jpg # Visual diff highlighting differences
|
|
104
|
+
│ ├── output.pptx # Generated PPTX file
|
|
105
|
+
│ └── report.json # Comparison metrics
|
|
106
|
+
├── presentation.pptx/
|
|
107
|
+
│ ├── pptx-render.jpg # Original PPTX rendered via LibreOffice
|
|
108
|
+
│ ├── html-render.jpg # Imported HTML rendered via Playwright
|
|
109
|
+
│ ├── diff.jpg # Visual diff highlighting differences
|
|
110
|
+
│ ├── output.html # Generated HTML (all slides concatenated)
|
|
111
|
+
│ └── report.json # Comparison metrics
|
|
112
|
+
└── ...
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Metrics explained:**
|
|
116
|
+
|
|
117
|
+
- **pixelDiff.percentDiff** - Percentage of pixels that differ between the two images (lower is better)
|
|
118
|
+
- **ssim.mssim** - Structural Similarity Index (0-1, higher is better). Values above 0.9 indicate very similar images
|