file2md 1.1.10 → 1.2.0
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.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -6
- package/dist/index.js.map +1 -1
- package/dist/parsers/hwp-parser.d.ts +20 -0
- package/dist/parsers/hwp-parser.d.ts.map +1 -0
- package/dist/parsers/hwp-parser.js +474 -0
- package/dist/parsers/hwp-parser.js.map +1 -0
- package/dist/parsers/pptx-parser.d.ts +0 -4
- package/dist/parsers/pptx-parser.d.ts.map +1 -1
- package/dist/parsers/pptx-parser.js +92 -159
- package/dist/parsers/pptx-parser.js.map +1 -1
- package/dist/types/interfaces.d.ts +2 -0
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/interfaces.js +3 -1
- package/dist/types/interfaces.js.map +1 -1
- package/package.json +10 -8
- package/dist/utils/puppeteer-renderer.d.ts +0 -65
- package/dist/utils/puppeteer-renderer.d.ts.map +0 -1
- package/dist/utils/puppeteer-renderer.js +0 -393
- package/dist/utils/puppeteer-renderer.js.map +0 -1
- package/dist/utils/slide-renderer.d.ts +0 -119
- package/dist/utils/slide-renderer.d.ts.map +0 -1
- package/dist/utils/slide-renderer.js +0 -801
- package/dist/utils/slide-renderer.js.map +0 -1
@@ -1,17 +1,13 @@
|
|
1
1
|
import type { Buffer } from 'node:buffer';
|
2
2
|
import type { ImageExtractor } from '../utils/image-extractor.js';
|
3
3
|
import type { ChartExtractor } from '../utils/chart-extractor.js';
|
4
|
-
import { type SlideRenderOptions } from '../utils/slide-renderer.js';
|
5
4
|
import { type SlideLayout } from '../utils/pptx-visual-parser.js';
|
6
5
|
import type { ImageData, ChartData } from '../types/interfaces.js';
|
7
6
|
export interface PptxParseOptions {
|
8
7
|
readonly preserveLayout?: boolean;
|
9
8
|
readonly extractImages?: boolean;
|
10
9
|
readonly extractCharts?: boolean;
|
11
|
-
readonly useSlideScreenshots?: boolean;
|
12
10
|
readonly useVisualParser?: boolean;
|
13
|
-
readonly slideRenderOptions?: SlideRenderOptions;
|
14
|
-
readonly outputDir?: string;
|
15
11
|
}
|
16
12
|
export interface PptxParseResult {
|
17
13
|
readonly markdown: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pptx-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,
|
1
|
+
{"version":3,"file":"pptx-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEpF,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;CACjD;AAOD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import JSZip from 'jszip';
|
2
2
|
import { parseStringPromise } from 'xml2js';
|
3
|
-
import path from 'node:path';
|
4
|
-
import { SlideRenderer } from '../utils/slide-renderer.js';
|
5
3
|
import { PptxVisualParser } from '../utils/pptx-visual-parser.js';
|
6
4
|
import { ParseError } from '../types/errors.js';
|
7
5
|
/**
|
@@ -9,12 +7,7 @@ import { ParseError } from '../types/errors.js';
|
|
9
7
|
*/
|
10
8
|
export async function parsePptx(buffer, imageExtractor, chartExtractor, options = {}) {
|
11
9
|
try {
|
12
|
-
|
13
|
-
if (options.useSlideScreenshots !== false) {
|
14
|
-
return await parsePptxWithSlideScreenshots(buffer, imageExtractor, chartExtractor, options);
|
15
|
-
}
|
16
|
-
// Fallback to legacy layout parsing if slide screenshots are disabled
|
17
|
-
return await parsePptxLegacyMode(buffer, imageExtractor, chartExtractor, options);
|
10
|
+
return await parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, options);
|
18
11
|
}
|
19
12
|
catch (error) {
|
20
13
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
@@ -22,71 +15,23 @@ export async function parsePptx(buffer, imageExtractor, chartExtractor, options
|
|
22
15
|
}
|
23
16
|
}
|
24
17
|
/**
|
25
|
-
*
|
18
|
+
* Parse PPTX to markdown without image generation
|
26
19
|
*/
|
27
|
-
async function
|
28
|
-
const
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
visualLayouts = await visualParser.parseVisualElements(buffer);
|
37
|
-
console.log(`Visual parser extracted ${visualLayouts.length} slide layouts`);
|
38
|
-
}
|
39
|
-
catch (visualError) {
|
40
|
-
console.warn('Visual parsing failed, continuing with standard processing:', visualError);
|
41
|
-
}
|
20
|
+
async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, options) {
|
21
|
+
const zip = await JSZip.loadAsync(buffer);
|
22
|
+
// Enhanced visual parsing if requested (for text extraction)
|
23
|
+
let visualLayouts;
|
24
|
+
if (options.useVisualParser !== false) {
|
25
|
+
try {
|
26
|
+
const visualParser = new PptxVisualParser();
|
27
|
+
visualLayouts = await visualParser.parseVisualElements(buffer);
|
28
|
+
console.log(`Visual parser extracted ${visualLayouts.length} slide layouts`);
|
42
29
|
}
|
43
|
-
|
44
|
-
|
45
|
-
// Extract title from PPTX metadata for better markdown generation
|
46
|
-
const title = await extractPptxTitle(buffer);
|
47
|
-
// Generate enhanced markdown with visual layouts if available
|
48
|
-
const markdown = visualLayouts
|
49
|
-
? generateEnhancedMarkdownWithLayouts(renderResult.slideImages, visualLayouts, title)
|
50
|
-
: slideRenderer.generateSlideMarkdown(renderResult.slideImages, title);
|
51
|
-
// Still extract charts if requested (need to load zip for chart extraction)
|
52
|
-
let extractedCharts = [];
|
53
|
-
if (options.extractCharts !== false) {
|
54
|
-
try {
|
55
|
-
const zip = await JSZip.loadAsync(buffer);
|
56
|
-
extractedCharts = await chartExtractor.extractChartsFromZip(zip, 'ppt/');
|
57
|
-
}
|
58
|
-
catch {
|
59
|
-
// Ignore chart extraction errors
|
60
|
-
}
|
30
|
+
catch (visualError) {
|
31
|
+
console.warn('Visual parsing failed, continuing with standard processing:', visualError);
|
61
32
|
}
|
62
|
-
return {
|
63
|
-
markdown,
|
64
|
-
images: renderResult.slideImages,
|
65
|
-
charts: extractedCharts.map(chart => chart.data),
|
66
|
-
slideCount: renderResult.slideCount,
|
67
|
-
visualLayouts,
|
68
|
-
metadata: {
|
69
|
-
totalSlides: renderResult.slideCount,
|
70
|
-
hasImages: renderResult.slideImages.length > 0,
|
71
|
-
hasCharts: extractedCharts.length > 0,
|
72
|
-
renderMethod: 'slide-screenshots',
|
73
|
-
hasVisualLayouts: visualLayouts !== undefined,
|
74
|
-
...renderResult.metadata
|
75
|
-
}
|
76
|
-
};
|
77
|
-
}
|
78
|
-
catch (error) {
|
79
|
-
// If slide rendering fails, fall back to legacy mode
|
80
|
-
console.warn('Slide screenshot rendering failed, falling back to legacy mode:', error);
|
81
|
-
return await parsePptxLegacyMode(buffer, imageExtractor, chartExtractor, options);
|
82
33
|
}
|
83
|
-
|
84
|
-
/**
|
85
|
-
* Legacy layout parsing mode (fallback)
|
86
|
-
*/
|
87
|
-
async function parsePptxLegacyMode(buffer, imageExtractor, chartExtractor, options) {
|
88
|
-
const zip = await JSZip.loadAsync(buffer);
|
89
|
-
// Extract images first
|
34
|
+
// Extract embedded images metadata only (not for slide screenshots)
|
90
35
|
const extractedImages = options.extractImages !== false
|
91
36
|
? await imageExtractor.extractImagesFromZip(zip, 'ppt/')
|
92
37
|
: [];
|
@@ -108,18 +53,80 @@ async function parsePptxLegacyMode(buffer, imageExtractor, chartExtractor, optio
|
|
108
53
|
const bNum = parseInt(b.path.match(/slide(\d+)\.xml/)?.[1] || '0');
|
109
54
|
return aNum - bNum;
|
110
55
|
});
|
56
|
+
// Extract title from PPTX metadata
|
57
|
+
const title = await extractPptxTitle(buffer);
|
111
58
|
let markdown = '';
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
59
|
+
if (title) {
|
60
|
+
markdown += `# ${title}\n\n`;
|
61
|
+
}
|
62
|
+
// Use visual layouts for enhanced text extraction if available
|
63
|
+
if (visualLayouts && visualLayouts.length === slideFiles.length) {
|
64
|
+
for (let i = 0; i < slideFiles.length; i++) {
|
65
|
+
const slideFile = slideFiles[i];
|
66
|
+
const slideNumber = i + 1;
|
67
|
+
const layout = visualLayouts[i];
|
68
|
+
if (layout?.title) {
|
69
|
+
markdown += `## Slide ${slideNumber}: ${layout.title}\n\n`;
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
markdown += `## Slide ${slideNumber}\n\n`;
|
73
|
+
}
|
74
|
+
// Extract text from visual layout
|
75
|
+
const textElements = layout.elements.filter(e => e.type === 'text');
|
76
|
+
if (textElements.length > 0) {
|
77
|
+
textElements.forEach((element) => {
|
78
|
+
if (element.type === 'text' && element.content?.text) {
|
79
|
+
const textContent = element.content.text.trim();
|
80
|
+
if (textContent) {
|
81
|
+
markdown += `${textContent}\n\n`;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
});
|
85
|
+
}
|
86
|
+
else {
|
87
|
+
// Fallback to XML extraction if no text in visual layout
|
88
|
+
const xmlContent = await slideFile.file.async('string');
|
89
|
+
const slideContent = await extractSlideTextContent(xmlContent);
|
90
|
+
if (slideContent.trim()) {
|
91
|
+
markdown += slideContent + '\n\n';
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
markdown += '*No content*\n\n';
|
95
|
+
}
|
96
|
+
}
|
97
|
+
// Add metadata about other elements
|
98
|
+
const imageElements = layout.elements.filter(e => e.type === 'image');
|
99
|
+
const chartElements = layout.elements.filter(e => e.type === 'chart');
|
100
|
+
const tableElements = layout.elements.filter(e => e.type === 'table');
|
101
|
+
if (imageElements.length > 0 || chartElements.length > 0 || tableElements.length > 0) {
|
102
|
+
markdown += '### Slide Elements\n\n';
|
103
|
+
if (imageElements.length > 0) {
|
104
|
+
markdown += `- ${imageElements.length} image(s)\n`;
|
105
|
+
}
|
106
|
+
if (chartElements.length > 0) {
|
107
|
+
markdown += `- ${chartElements.length} chart(s)\n`;
|
108
|
+
}
|
109
|
+
if (tableElements.length > 0) {
|
110
|
+
markdown += `- ${tableElements.length} table(s)\n`;
|
111
|
+
}
|
112
|
+
markdown += '\n';
|
113
|
+
}
|
120
114
|
}
|
121
|
-
|
122
|
-
|
115
|
+
}
|
116
|
+
else {
|
117
|
+
// Standard text extraction without visual layouts
|
118
|
+
for (let i = 0; i < slideFiles.length; i++) {
|
119
|
+
const slideFile = slideFiles[i];
|
120
|
+
const slideNumber = i + 1;
|
121
|
+
markdown += `## Slide ${slideNumber}\n\n`;
|
122
|
+
const xmlContent = await slideFile.file.async('string');
|
123
|
+
const slideContent = await extractSlideTextContent(xmlContent);
|
124
|
+
if (slideContent.trim()) {
|
125
|
+
markdown += slideContent + '\n\n';
|
126
|
+
}
|
127
|
+
else {
|
128
|
+
markdown += '*No content*\n\n';
|
129
|
+
}
|
123
130
|
}
|
124
131
|
}
|
125
132
|
return {
|
@@ -131,7 +138,8 @@ async function parsePptxLegacyMode(buffer, imageExtractor, chartExtractor, optio
|
|
131
138
|
totalSlides: slideFiles.length,
|
132
139
|
hasImages: extractedImages.length > 0,
|
133
140
|
hasCharts: extractedCharts.length > 0,
|
134
|
-
renderMethod: '
|
141
|
+
renderMethod: 'text-extraction',
|
142
|
+
hasVisualLayouts: visualLayouts !== undefined
|
135
143
|
}
|
136
144
|
};
|
137
145
|
}
|
@@ -158,9 +166,9 @@ async function extractPptxTitle(buffer) {
|
|
158
166
|
return undefined;
|
159
167
|
}
|
160
168
|
/**
|
161
|
-
*
|
169
|
+
* Extract text content from slide XML
|
162
170
|
*/
|
163
|
-
async function
|
171
|
+
async function extractSlideTextContent(xmlContent) {
|
164
172
|
try {
|
165
173
|
const result = await parseStringPromise(xmlContent);
|
166
174
|
let markdown = '';
|
@@ -199,86 +207,11 @@ async function extractLegacySlideContent(xmlContent, imageExtractor, extractedIm
|
|
199
207
|
}
|
200
208
|
// Extract all text content
|
201
209
|
const textContent = extractText(result).trim();
|
202
|
-
|
203
|
-
markdown += textContent + '\n\n';
|
204
|
-
}
|
205
|
-
// Add any images for this slide
|
206
|
-
const slideImages = extractedImages.filter(img => img.originalPath.includes(`slide${slideNumber}`) ||
|
207
|
-
(slideNumber === 1 && img.originalPath.includes('media/')));
|
208
|
-
for (const img of slideImages) {
|
209
|
-
if (img.savedPath) {
|
210
|
-
const filename = path.basename(img.savedPath);
|
211
|
-
markdown += imageExtractor.getImageMarkdown(`Slide ${slideNumber} Image`, filename) + '\n\n';
|
212
|
-
}
|
213
|
-
}
|
214
|
-
return markdown.trim();
|
210
|
+
return textContent;
|
215
211
|
}
|
216
212
|
catch (error) {
|
217
213
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
218
|
-
throw new ParseError('PPTX', `Failed to extract
|
219
|
-
}
|
220
|
-
}
|
221
|
-
/**
|
222
|
-
* Generate enhanced markdown with visual layout information
|
223
|
-
*/
|
224
|
-
function generateEnhancedMarkdownWithLayouts(slideImages, visualLayouts, title) {
|
225
|
-
let markdown = '';
|
226
|
-
if (title) {
|
227
|
-
markdown += `# ${title}\n\n`;
|
228
|
-
}
|
229
|
-
for (let i = 0; i < slideImages.length; i++) {
|
230
|
-
const slide = slideImages[i];
|
231
|
-
const layout = visualLayouts[i];
|
232
|
-
const slideNumber = i + 1;
|
233
|
-
// Generate slide header with enhanced information
|
234
|
-
if (layout?.title) {
|
235
|
-
markdown += `## Slide ${slideNumber}: ${layout.title}\n\n`;
|
236
|
-
}
|
237
|
-
else {
|
238
|
-
markdown += `## Slide ${slideNumber}\n\n`;
|
239
|
-
}
|
240
|
-
// Use relative path for markdown image reference
|
241
|
-
const relativePath = path.relative(process.cwd(), slide.savedPath)
|
242
|
-
.replace(/\\/g, '/'); // Ensure forward slashes for markdown
|
243
|
-
markdown += `\n\n`;
|
244
|
-
// Add layout information if available
|
245
|
-
if (layout && layout.elements.length > 0) {
|
246
|
-
markdown += `### Slide Content Summary\n\n`;
|
247
|
-
// Categorize elements
|
248
|
-
const textElements = layout.elements.filter(e => e.type === 'text');
|
249
|
-
const imageElements = layout.elements.filter(e => e.type === 'image');
|
250
|
-
const chartElements = layout.elements.filter(e => e.type === 'chart');
|
251
|
-
const tableElements = layout.elements.filter(e => e.type === 'table');
|
252
|
-
const shapeElements = layout.elements.filter(e => e.type === 'shape');
|
253
|
-
// Add text content
|
254
|
-
if (textElements.length > 0) {
|
255
|
-
markdown += `**Text Elements (${textElements.length}):**\n`;
|
256
|
-
textElements.forEach((element, index) => {
|
257
|
-
if (element.type === 'text' && element.content?.text) {
|
258
|
-
const textContent = element.content.text.trim();
|
259
|
-
if (textContent) {
|
260
|
-
markdown += `${index + 1}. ${textContent.substring(0, 100)}${textContent.length > 100 ? '...' : ''}\n`;
|
261
|
-
}
|
262
|
-
}
|
263
|
-
});
|
264
|
-
markdown += '\n';
|
265
|
-
}
|
266
|
-
// Add visual element counts
|
267
|
-
if (imageElements.length > 0) {
|
268
|
-
markdown += `**Images:** ${imageElements.length} embedded image(s)\n`;
|
269
|
-
}
|
270
|
-
if (chartElements.length > 0) {
|
271
|
-
markdown += `**Charts:** ${chartElements.length} chart(s)\n`;
|
272
|
-
}
|
273
|
-
if (tableElements.length > 0) {
|
274
|
-
markdown += `**Tables:** ${tableElements.length} table(s)\n`;
|
275
|
-
}
|
276
|
-
if (shapeElements.length > 0) {
|
277
|
-
markdown += `**Shapes:** ${shapeElements.length} shape(s)\n`;
|
278
|
-
}
|
279
|
-
markdown += '\n';
|
280
|
-
}
|
214
|
+
throw new ParseError('PPTX', `Failed to extract text content from slide: ${message}`, error);
|
281
215
|
}
|
282
|
-
return markdown.trim();
|
283
216
|
}
|
284
217
|
//# sourceMappingURL=pptx-parser.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pptx-parser.js","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"pptx-parser.js","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"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"}
|
@@ -225,6 +225,8 @@ export declare const SUPPORTED_MIME_TYPES: {
|
|
225
225
|
readonly DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
|
226
226
|
readonly XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
227
227
|
readonly PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation";
|
228
|
+
readonly HWP: "application/x-hwp";
|
229
|
+
readonly HWPX: "application/x-hwpx";
|
228
230
|
};
|
229
231
|
export type SupportedMimeType = typeof SUPPORTED_MIME_TYPES[keyof typeof SUPPORTED_MIME_TYPES];
|
230
232
|
//# sourceMappingURL=interfaces.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,oCAAoC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,sBAAsB;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,aAAa,CAAC;IACzB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wBAAwB;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,mBAAmB;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7D,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;CAOvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
|
package/dist/types/interfaces.js
CHANGED
@@ -5,6 +5,8 @@ export const SUPPORTED_MIME_TYPES = {
|
|
5
5
|
PDF: 'application/pdf',
|
6
6
|
DOCX: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
7
7
|
XLSX: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
8
|
-
PPTX: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
|
8
|
+
PPTX: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
9
|
+
HWP: 'application/x-hwp',
|
10
|
+
HWPX: 'application/x-hwpx'
|
9
11
|
};
|
10
12
|
//# sourceMappingURL=interfaces.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AA8OA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,yEAAyE;IAC/E,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,2EAA2E;
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AA8OA;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,yEAAyE;IAC/E,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,2EAA2E;IACjF,GAAG,EAAE,mBAAmB;IACxB,IAAI,EAAE,oBAAoB;CAClB,CAAC"}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "file2md",
|
3
|
-
"version": "1.
|
4
|
-
"description": "A TypeScript library for converting various document types (PDF, DOCX, XLSX, PPTX) into Markdown with image and layout preservation",
|
3
|
+
"version": "1.2.0",
|
4
|
+
"description": "A TypeScript library for converting various document types (PDF, DOCX, XLSX, PPTX, HWP, HWPX) into Markdown with image and layout preservation",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
7
7
|
"type": "module",
|
@@ -24,6 +24,10 @@
|
|
24
24
|
"docx",
|
25
25
|
"xlsx",
|
26
26
|
"pptx",
|
27
|
+
"hwp",
|
28
|
+
"hwpx",
|
29
|
+
"korean",
|
30
|
+
"hangul",
|
27
31
|
"document",
|
28
32
|
"typescript",
|
29
33
|
"layout-preservation",
|
@@ -32,17 +36,15 @@
|
|
32
36
|
"author": "",
|
33
37
|
"license": "MIT",
|
34
38
|
"dependencies": {
|
35
|
-
"
|
39
|
+
"fast-xml-parser": "^4.3.2",
|
36
40
|
"file-type": "^16.5.4",
|
41
|
+
"hwp.js": "^0.0.3",
|
42
|
+
"jsdom": "^23.0.0",
|
37
43
|
"jszip": "^3.10.1",
|
38
|
-
"libreoffice-convert": "^1.6.1",
|
39
44
|
"pdf-parse": "^1.1.1",
|
40
45
|
"pdf2pic": "^2.1.4",
|
41
46
|
"xml2js": "^0.6.2"
|
42
47
|
},
|
43
|
-
"optionalDependencies": {
|
44
|
-
"@canvas/noto-fonts": "^1.0.0"
|
45
|
-
},
|
46
48
|
"engines": {
|
47
49
|
"node": ">=18.0.0"
|
48
50
|
},
|
@@ -51,8 +53,8 @@
|
|
51
53
|
"@types/jszip": "^3.4.1",
|
52
54
|
"@types/node": "^20.0.0",
|
53
55
|
"@types/pdf-parse": "^1.1.5",
|
54
|
-
"@types/puppeteer": "^7.0.4",
|
55
56
|
"@types/xml2js": "^0.4.14",
|
57
|
+
"@types/jsdom": "^21.1.0",
|
56
58
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
57
59
|
"@typescript-eslint/parser": "^6.0.0",
|
58
60
|
"eslint": "^8.50.0",
|
@@ -1,65 +0,0 @@
|
|
1
|
-
import type { ImageData } from '../types/interfaces.js';
|
2
|
-
import type { SlideLayout } from './pptx-visual-parser.js';
|
3
|
-
export interface PuppeteerRenderOptions {
|
4
|
-
readonly width?: number;
|
5
|
-
readonly height?: number;
|
6
|
-
readonly quality?: number;
|
7
|
-
readonly format?: 'png' | 'jpeg';
|
8
|
-
readonly deviceScaleFactor?: number;
|
9
|
-
readonly timeout?: number;
|
10
|
-
readonly headless?: boolean;
|
11
|
-
}
|
12
|
-
export interface PuppeteerRenderResult {
|
13
|
-
readonly slideImages: readonly ImageData[];
|
14
|
-
readonly slideCount: number;
|
15
|
-
readonly metadata: {
|
16
|
-
readonly renderMethod: 'puppeteer';
|
17
|
-
readonly width: number;
|
18
|
-
readonly height: number;
|
19
|
-
readonly quality: number;
|
20
|
-
readonly format: string;
|
21
|
-
};
|
22
|
-
}
|
23
|
-
export declare class PuppeteerRenderer {
|
24
|
-
private readonly outputDir;
|
25
|
-
private puppeteer;
|
26
|
-
private browser;
|
27
|
-
constructor(outputDir: string);
|
28
|
-
/**
|
29
|
-
* Initialize Puppeteer (lazy loading to avoid dependency issues)
|
30
|
-
*/
|
31
|
-
private initializePuppeteer;
|
32
|
-
/**
|
33
|
-
* Launch browser instance
|
34
|
-
*/
|
35
|
-
private launchBrowser;
|
36
|
-
/**
|
37
|
-
* Render slides using visual layouts in browser
|
38
|
-
*/
|
39
|
-
renderSlidesFromLayouts(visualLayouts: readonly SlideLayout[], options?: PuppeteerRenderOptions): Promise<PuppeteerRenderResult>;
|
40
|
-
/**
|
41
|
-
* Generate HTML content for a slide
|
42
|
-
*/
|
43
|
-
private generateSlideHtml;
|
44
|
-
/**
|
45
|
-
* Render individual element to HTML
|
46
|
-
*/
|
47
|
-
private renderElement;
|
48
|
-
/**
|
49
|
-
* Escape HTML characters
|
50
|
-
*/
|
51
|
-
private escapeHtml;
|
52
|
-
/**
|
53
|
-
* Check if Puppeteer is available
|
54
|
-
*/
|
55
|
-
static isAvailable(): Promise<boolean>;
|
56
|
-
/**
|
57
|
-
* Close browser instance
|
58
|
-
*/
|
59
|
-
close(): Promise<void>;
|
60
|
-
/**
|
61
|
-
* Clean up resources
|
62
|
-
*/
|
63
|
-
cleanup(): Promise<void>;
|
64
|
-
}
|
65
|
-
//# sourceMappingURL=puppeteer-renderer.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"puppeteer-renderer.d.ts","sourceRoot":"","sources":["../../src/utils/puppeteer-renderer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,OAAO,CAAa;gBAEhB,SAAS,EAAE,MAAM;IAI7B;;OAEG;YACW,mBAAmB;IAcjC;;OAEG;YACW,aAAa;IA8B3B;;OAEG;IACG,uBAAuB,CAC3B,aAAa,EAAE,SAAS,WAAW,EAAE,EACrC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAkGjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwIzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4FrB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|