file2md 1.2.4 → 1.2.6

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.
Files changed (42) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/parsers/docx-parser.d.ts.map +1 -1
  6. package/dist/parsers/docx-parser.js +15 -19
  7. package/dist/parsers/docx-parser.js.map +1 -1
  8. package/dist/parsers/hwp-parser.js +165 -156
  9. package/dist/parsers/hwp-parser.js.map +1 -1
  10. package/dist/parsers/pdf-parser.js +1 -1
  11. package/dist/parsers/pdf-parser.js.map +1 -1
  12. package/dist/parsers/pptx-parser.d.ts.map +1 -1
  13. package/dist/parsers/pptx-parser.js +9 -9
  14. package/dist/parsers/pptx-parser.js.map +1 -1
  15. package/dist/parsers/xlsx-parser.d.ts +1 -1
  16. package/dist/parsers/xlsx-parser.d.ts.map +1 -1
  17. package/dist/parsers/xlsx-parser.js +6 -6
  18. package/dist/parsers/xlsx-parser.js.map +1 -1
  19. package/dist/utils/browser-polyfills.d.ts +5 -5
  20. package/dist/utils/browser-polyfills.d.ts.map +1 -1
  21. package/dist/utils/browser-polyfills.js +4 -4
  22. package/dist/utils/browser-polyfills.js.map +1 -1
  23. package/dist/utils/chart-extractor.d.ts.map +1 -1
  24. package/dist/utils/chart-extractor.js +10 -10
  25. package/dist/utils/chart-extractor.js.map +1 -1
  26. package/dist/utils/image-extractor.js +5 -5
  27. package/dist/utils/image-extractor.js.map +1 -1
  28. package/dist/utils/layout-parser.d.ts.map +1 -1
  29. package/dist/utils/layout-parser.js +15 -16
  30. package/dist/utils/layout-parser.js.map +1 -1
  31. package/dist/utils/libreoffice-detector.d.ts.map +1 -1
  32. package/dist/utils/libreoffice-detector.js +3 -2
  33. package/dist/utils/libreoffice-detector.js.map +1 -1
  34. package/dist/utils/pdf-extractor.d.ts +1 -1
  35. package/dist/utils/pdf-extractor.d.ts.map +1 -1
  36. package/dist/utils/pdf-extractor.js +15 -17
  37. package/dist/utils/pdf-extractor.js.map +1 -1
  38. package/dist/utils/pptx-visual-parser.d.ts +13 -13
  39. package/dist/utils/pptx-visual-parser.d.ts.map +1 -1
  40. package/dist/utils/pptx-visual-parser.js +14 -15
  41. package/dist/utils/pptx-visual-parser.js.map +1 -1
  42. package/package.json +89 -79
@@ -51,7 +51,7 @@ function detectHwpFormat(buffer) {
51
51
  /**
52
52
  * Parse HWP binary format using hwp.js
53
53
  */
54
- async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
54
+ async function parseHwpBinary(buffer, imageExtractor, _chartExtractor, options) {
55
55
  try {
56
56
  // Setup browser polyfills before importing hwp.js
57
57
  setupBrowserPolyfills();
@@ -73,14 +73,14 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
73
73
  global.document = dom.window.document;
74
74
  global.window = dom.window;
75
75
  // Ensure our polyfills are available in the DOM window as well
76
- if (!dom.window['IntersectionObserver']) {
77
- dom.window['IntersectionObserver'] = global.IntersectionObserver;
76
+ if (!dom.window.IntersectionObserver) {
77
+ dom.window.IntersectionObserver = global.IntersectionObserver;
78
78
  }
79
- if (!dom.window['ResizeObserver']) {
80
- dom.window['ResizeObserver'] = global.ResizeObserver;
79
+ if (!dom.window.ResizeObserver) {
80
+ dom.window.ResizeObserver = global.ResizeObserver;
81
81
  }
82
- if (!dom.window['MutationObserver']) {
83
- dom.window['MutationObserver'] = global.MutationObserver;
82
+ if (!dom.window.MutationObserver) {
83
+ dom.window.MutationObserver = global.MutationObserver;
84
84
  }
85
85
  try {
86
86
  const container = global.document.getElementById('hwp-container');
@@ -88,7 +88,7 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
88
88
  throw new Error('Failed to create container element');
89
89
  }
90
90
  // Initialize hwp.js viewer
91
- const viewer = new Viewer(container, uint8Array);
91
+ new Viewer(container, uint8Array);
92
92
  // Wait for viewer to process the document
93
93
  await new Promise(resolve => setTimeout(resolve, 1000));
94
94
  // Extract text content from the rendered DOM
@@ -132,7 +132,7 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
132
132
  /**
133
133
  * Parse HWPX XML format using JSZip and fast-xml-parser
134
134
  */
135
- async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
135
+ async function parseHwpxXml(buffer, imageExtractor, _chartExtractor, options) {
136
136
  try {
137
137
  const zip = await JSZip.loadAsync(buffer);
138
138
  // Log all files in the ZIP for debugging
@@ -219,7 +219,7 @@ async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
219
219
  // Convert each section to markdown and combine
220
220
  const sectionMarkdown = convertOwpmlToMarkdown(parsedXml);
221
221
  if (sectionMarkdown && sectionMarkdown.trim()) {
222
- allContent += sectionMarkdown + '\n\n';
222
+ allContent += `${sectionMarkdown}\n\n`;
223
223
  }
224
224
  }
225
225
  }
@@ -284,7 +284,7 @@ function extractTextFromViewer(container) {
284
284
  if (paragraphs.length > 0)
285
285
  break; // Use first successful selector
286
286
  }
287
- catch (error) {
287
+ catch {
288
288
  continue; // Try next selector
289
289
  }
290
290
  }
@@ -329,14 +329,14 @@ async function extractHwpImages(container, imageExtractor) {
329
329
  });
330
330
  }
331
331
  }
332
- catch (error) {
333
- console.warn(`Failed to process embedded image ${index + 1}:`, error);
332
+ catch (e) {
333
+ console.warn(`Failed to process embedded image ${index + 1}:`, e);
334
334
  }
335
335
  }
336
336
  });
337
337
  }
338
- catch (error) {
339
- console.warn('Failed to extract images from HWP:', error);
338
+ catch (e) {
339
+ console.warn('Failed to extract images from HWP:', e);
340
340
  }
341
341
  return images;
342
342
  }
@@ -346,33 +346,34 @@ async function extractHwpImages(container, imageExtractor) {
346
346
  async function extractHwpxImages(zip, imageExtractor) {
347
347
  const images = [];
348
348
  try {
349
- // Look for image files in the ZIP archive
349
+ // Look for image files in the ZIP archive - typically in BinData folder
350
350
  const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.tiff'];
351
351
  for (const [fileName, file] of Object.entries(zip.files)) {
352
352
  if (!file.dir && imageExtensions.some(ext => fileName.toLowerCase().endsWith(ext))) {
353
353
  try {
354
354
  const imageBuffer = await file.async('nodebuffer');
355
355
  const extension = path.extname(fileName).slice(1).toLowerCase();
356
- const baseName = path.basename(fileName, path.extname(fileName));
357
- const savedFileName = `${baseName}.${extension}`;
358
- const savedPath = path.join(imageExtractor.imageDirectory, savedFileName);
359
- // Save image using imageExtractor
360
- await imageExtractor.saveImage(imageBuffer, fileName);
361
- images.push({
362
- originalPath: fileName,
363
- savedPath,
364
- format: extension,
365
- size: imageBuffer.length
366
- });
356
+ // Actually save the image to disk using imageExtractor
357
+ // Pass originalPath and basePath (empty string for base)
358
+ const savedPath = await imageExtractor.saveImage(imageBuffer, fileName, '');
359
+ if (savedPath) {
360
+ images.push({
361
+ originalPath: fileName,
362
+ savedPath,
363
+ format: extension,
364
+ size: imageBuffer.length
365
+ });
366
+ console.log(`Extracted and saved image: ${fileName} -> ${savedPath}`);
367
+ }
367
368
  }
368
- catch (error) {
369
- console.warn(`Failed to extract image ${fileName}:`, error);
369
+ catch (e) {
370
+ console.warn(`Failed to extract image ${fileName}:`, e);
370
371
  }
371
372
  }
372
373
  }
373
374
  }
374
- catch (error) {
375
- console.warn('Failed to extract images from HWPX:', error);
375
+ catch (e) {
376
+ console.warn('Failed to extract images from HWPX:', e);
376
377
  }
377
378
  return images;
378
379
  }
@@ -413,160 +414,168 @@ function convertHwpContentToMarkdown(textContent) {
413
414
  function convertOwpmlToMarkdown(owpmlData) {
414
415
  let markdown = '';
415
416
  try {
416
- // Navigate OWPML structure (HWPX uses OWPML - Office Word Processor Markup Language)
417
- const root = owpmlData.OWPML || owpmlData.owpml || owpmlData;
418
- if (root.body || root.Body) {
419
- const body = root.body || root.Body;
420
- markdown = processOwpmlBody(body);
421
- }
422
- else if (root.BODY) {
423
- const body = root.BODY;
424
- markdown = processOwpmlBody(body);
425
- }
426
- else {
427
- // Try to extract any text content from the parsed XML
428
- markdown = extractTextFromObject(root);
417
+ // HWPX uses hp:p for paragraphs and hp:t for text
418
+ // Navigate the structure to find text nodes
419
+ const texts = [];
420
+ // Extract all text content recursively, but only from text nodes
421
+ extractTextNodes(owpmlData, texts);
422
+ // Join extracted texts with proper spacing
423
+ if (texts.length > 0) {
424
+ markdown = texts
425
+ .filter(text => text.trim().length > 0)
426
+ .join('\n\n');
429
427
  }
430
428
  if (!markdown.trim()) {
431
429
  markdown = '*No readable content found in HWPX file*';
432
430
  }
433
431
  }
434
- catch (error) {
435
- console.warn('Error processing OWPML structure:', error);
432
+ catch (e) {
433
+ console.warn('Error processing OWPML structure:', e);
436
434
  markdown = '*Error processing HWPX content*';
437
435
  }
438
436
  return markdown;
439
437
  }
440
438
  /**
441
- * Process OWPML body content
439
+ * Extract text nodes from OWPML structure
442
440
  */
443
- function processOwpmlBody(body) {
444
- let result = '';
445
- try {
446
- // Process sections
447
- if (body.section || body.Section || body.SECTION) {
448
- const sections = body.section || body.Section || body.SECTION;
449
- const sectionArray = Array.isArray(sections) ? sections : [sections];
450
- sectionArray.forEach((section) => {
451
- result += processOwpmlSection(section);
452
- });
441
+ function extractTextNodes(obj, texts) {
442
+ if (!obj)
443
+ return;
444
+ // If it's a string and looks like actual text (not XML attribute values)
445
+ if (typeof obj === 'string') {
446
+ // Filter out numeric-only strings, single words that look like attribute values
447
+ const trimmed = obj.trim();
448
+ if (trimmed &&
449
+ !trimmed.match(/^[0-9\s.-]+$/) && // Skip pure numbers
450
+ !trimmed.match(/^[A-Z_]+$/) && // Skip constants like "BOTH", "LEFT_ONLY"
451
+ trimmed.length > 2 && // Skip very short strings
452
+ !trimmed.includes('pixel') && // Skip image metadata
453
+ !trimmed.startsWith('그림입니다') && // Skip image placeholders
454
+ !trimmed.includes('원본 그림')) { // Skip image descriptions
455
+ texts.push(trimmed);
456
+ }
457
+ return;
458
+ }
459
+ // If it's an array, process each item
460
+ if (Array.isArray(obj)) {
461
+ for (const item of obj) {
462
+ extractTextNodes(item, texts);
453
463
  }
454
- // Process paragraphs directly in body
455
- if (body.p || body.P || body.PARA) {
456
- const paragraphs = body.p || body.P || body.PARA;
457
- const paraArray = Array.isArray(paragraphs) ? paragraphs : [paragraphs];
458
- paraArray.forEach((para) => {
459
- result += processOwpmlParagraph(para);
460
- });
464
+ return;
465
+ }
466
+ // If it's an object, look for text content
467
+ if (typeof obj === 'object' && obj !== null) {
468
+ // HWPX specific text node handling
469
+ // Look for hp:p (paragraphs) and hp:t (text) nodes
470
+ if (obj['hp:p']) {
471
+ const paragraphs = Array.isArray(obj['hp:p']) ? obj['hp:p'] : [obj['hp:p']];
472
+ for (const para of paragraphs) {
473
+ extractParagraphText(para, texts);
474
+ }
461
475
  }
462
- // Fallback: extract any text
463
- if (!result.trim()) {
464
- result = extractTextFromObject(body);
476
+ // Also check for plain p nodes
477
+ if (obj.p) {
478
+ const paragraphs = Array.isArray(obj.p) ? obj.p : [obj.p];
479
+ for (const para of paragraphs) {
480
+ extractParagraphText(para, texts);
481
+ }
465
482
  }
466
- }
467
- catch (error) {
468
- console.warn('Error processing OWPML body:', error);
469
- }
470
- return result;
471
- }
472
- /**
473
- * Process OWPML section
474
- */
475
- function processOwpmlSection(section) {
476
- let result = '';
477
- try {
478
- if (section.p || section.P || section.PARA) {
479
- const paragraphs = section.p || section.P || section.PARA;
480
- const paraArray = Array.isArray(paragraphs) ? paragraphs : [paragraphs];
481
- paraArray.forEach((para) => {
482
- result += processOwpmlParagraph(para);
483
- });
483
+ // Check for TEXT nodes
484
+ if (obj.TEXT) {
485
+ const textNodes = Array.isArray(obj.TEXT) ? obj.TEXT : [obj.TEXT];
486
+ for (const textNode of textNodes) {
487
+ if (textNode['#text']) {
488
+ const text = textNode['#text'].trim();
489
+ if (text && !isMetadata(text)) {
490
+ texts.push(text);
491
+ }
492
+ }
493
+ }
484
494
  }
485
- else {
486
- result = extractTextFromObject(section);
495
+ // Recursively process all properties
496
+ for (const [key, value] of Object.entries(obj)) {
497
+ // Skip attribute keys and known metadata keys
498
+ if (!key.startsWith('@_') &&
499
+ !key.startsWith('_') &&
500
+ key !== 'SECDEF' &&
501
+ key !== 'DOCSUMMARY' &&
502
+ key !== 'MAPPINGTABLE' &&
503
+ key !== 'COMPATIBLE_DOCUMENT' &&
504
+ key !== 'LAYOUTCOMPATIBILITY') {
505
+ extractTextNodes(value, texts);
506
+ }
487
507
  }
488
508
  }
489
- catch (error) {
490
- console.warn('Error processing OWPML section:', error);
491
- }
492
- return result;
493
509
  }
494
510
  /**
495
- * Process OWPML paragraph
511
+ * Extract text from a paragraph node
496
512
  */
497
- function processOwpmlParagraph(para) {
498
- let result = '';
499
- try {
500
- // Handle text content
501
- if (para['#text']) {
502
- result = para['#text'].toString().trim() + '\n\n';
503
- }
504
- // Handle runs/text runs
505
- if (para.run || para.RUN || para.r || para.R) {
506
- const runs = para.run || para.RUN || para.r || para.R;
507
- const runArray = Array.isArray(runs) ? runs : [runs];
508
- let paraText = '';
509
- runArray.forEach((run) => {
510
- if (run['#text']) {
511
- paraText += run['#text'].toString();
513
+ function extractParagraphText(para, texts) {
514
+ if (!para)
515
+ return;
516
+ // Look for hp:run or run nodes
517
+ const runs = para['hp:run'] || para['run'] || para['RUN'];
518
+ if (runs) {
519
+ const runArray = Array.isArray(runs) ? runs : [runs];
520
+ for (const run of runArray) {
521
+ // Look for hp:t or t nodes (text content)
522
+ const textNode = run['hp:t'] || run['t'] || run['T'] || run['#text'];
523
+ if (textNode) {
524
+ if (typeof textNode === 'string') {
525
+ const text = textNode.trim();
526
+ if (text && !isMetadata(text)) {
527
+ texts.push(text);
528
+ }
512
529
  }
513
- else if (run.t || run.T) {
514
- const textElements = run.t || run.T;
515
- const textArray = Array.isArray(textElements) ? textElements : [textElements];
516
- textArray.forEach((textEl) => {
517
- if (textEl['#text']) {
518
- paraText += textEl['#text'].toString();
519
- }
520
- else if (typeof textEl === 'string') {
521
- paraText += textEl;
522
- }
523
- });
530
+ else if (textNode['#text']) {
531
+ const text = textNode['#text'].trim();
532
+ if (text && !isMetadata(text)) {
533
+ texts.push(text);
534
+ }
524
535
  }
525
- });
526
- if (paraText.trim()) {
527
- result = paraText.trim() + '\n\n';
528
536
  }
529
537
  }
530
- // Fallback: extract any text from the paragraph
531
- if (!result.trim()) {
532
- result = extractTextFromObject(para);
533
- if (result.trim()) {
534
- result += '\n\n';
535
- }
538
+ }
539
+ // Also check for direct text content
540
+ if (para['#text']) {
541
+ const text = para['#text'].trim();
542
+ if (text && !isMetadata(text)) {
543
+ texts.push(text);
536
544
  }
537
545
  }
538
- catch (error) {
539
- console.warn('Error processing OWPML paragraph:', error);
546
+ // Check for TEXT child nodes
547
+ if (para.TEXT) {
548
+ const textNodes = Array.isArray(para.TEXT) ? para.TEXT : [para.TEXT];
549
+ for (const textNode of textNodes) {
550
+ if (textNode['#text']) {
551
+ const text = textNode['#text'].trim();
552
+ if (text && !isMetadata(text)) {
553
+ texts.push(text);
554
+ }
555
+ }
556
+ else if (typeof textNode === 'string') {
557
+ const text = textNode.trim();
558
+ if (text && !isMetadata(text)) {
559
+ texts.push(text);
560
+ }
561
+ }
562
+ }
540
563
  }
541
- return result;
542
564
  }
543
565
  /**
544
- * Extract text from any object recursively
566
+ * Check if a string looks like metadata rather than document content
545
567
  */
546
- function extractTextFromObject(obj) {
547
- if (typeof obj === 'string') {
548
- return obj;
549
- }
550
- if (typeof obj === 'number') {
551
- return obj.toString();
552
- }
553
- if (Array.isArray(obj)) {
554
- return obj.map(item => extractTextFromObject(item)).join(' ');
555
- }
556
- if (typeof obj === 'object' && obj !== null) {
557
- let text = '';
558
- // Look for common text properties first
559
- if (obj['#text']) {
560
- text += obj['#text'].toString() + ' ';
561
- }
562
- // Recursively extract text from all properties
563
- for (const [key, value] of Object.entries(obj)) {
564
- if (key !== '#text' && key !== '@_') { // Skip attributes
565
- text += extractTextFromObject(value) + ' ';
566
- }
567
- }
568
- return text.trim();
569
- }
570
- return '';
568
+ function isMetadata(text) {
569
+ // Filter out common metadata patterns
570
+ return text.match(/^[A-Z_]+$/) !== null || // Constants
571
+ text.match(/^[0-9\s.-]+$/) !== null || // Pure numbers
572
+ text.includes('pixel') || // Image metadata
573
+ text.startsWith('그림입니다') || // Korean "This is an image"
574
+ text.includes('원본 그림') || // Korean "Original image"
575
+ text.includes('.jpg') || // File names
576
+ text.includes('.png') ||
577
+ text.includes('.bmp') ||
578
+ text.includes('http://') || // URLs in metadata
579
+ text.length < 3; // Very short strings
571
580
  }
572
581
  //# sourceMappingURL=hwp-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hwp-parser.js","sourceRoot":"","sources":["../../src/parsers/hwp-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hwp-parser.js","sourceRoot":"","sources":["../../src/parsers/hwp-parser.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export async function parsePdf(buffer, imageExtractor, options = {}) {
22
22
  const enhancedText = await pdfExtractor.enhanceTextWithLayout(data.text, data);
23
23
  markdown += enhancedText;
24
24
  }
25
- catch (layoutError) {
25
+ catch {
26
26
  console.warn('Layout enhancement failed, falling back to basic text extraction');
27
27
  // Fall back to basic text extraction
28
28
  markdown = extractBasicText(data.text);
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-parser.js","sourceRoot":"","sources":["../../src/parsers/pdf-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-parser.js","sourceRoot":"","sources":["../../src/parsers/pdf-parser.ts"],"names":[],"mappings":"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"}
@@ -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,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
+ {"version":3,"file":"pptx-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/pptx-parser.ts"],"names":[],"mappings":"AAEA,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"}
@@ -24,7 +24,8 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
24
24
  if (options.useVisualParser !== false) {
25
25
  try {
26
26
  const visualParser = new PptxVisualParser();
27
- visualLayouts = await visualParser.parseVisualElements(buffer);
27
+ const readonlyLayouts = await visualParser.parseVisualElements(buffer);
28
+ visualLayouts = [...readonlyLayouts];
28
29
  console.log(`Visual parser extracted ${visualLayouts.length} slide layouts`);
29
30
  }
30
31
  catch (visualError) {
@@ -44,13 +45,13 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
44
45
  if (relativePath.startsWith('ppt/slides/slide') && relativePath.endsWith('.xml')) {
45
46
  slideFiles.push({
46
47
  path: relativePath,
47
- file: file
48
+ file
48
49
  });
49
50
  }
50
51
  });
51
52
  slideFiles.sort((a, b) => {
52
- const aNum = parseInt(a.path.match(/slide(\d+)\.xml/)?.[1] || '0');
53
- const bNum = parseInt(b.path.match(/slide(\d+)\.xml/)?.[1] || '0');
53
+ const aNum = parseInt(a.path.match(/slide(\d+)\.xml/)?.[1] || '0', 10);
54
+ const bNum = parseInt(b.path.match(/slide(\d+)\.xml/)?.[1] || '0', 10);
54
55
  return aNum - bNum;
55
56
  });
56
57
  // Extract title from PPTX metadata
@@ -88,7 +89,7 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
88
89
  const xmlContent = await slideFile.file.async('string');
89
90
  const slideContent = await extractSlideTextContent(xmlContent);
90
91
  if (slideContent.trim()) {
91
- markdown += slideContent + '\n\n';
92
+ markdown += `${slideContent}\n\n`;
92
93
  }
93
94
  else {
94
95
  markdown += '*No content*\n\n';
@@ -122,7 +123,7 @@ async function parsePptxToMarkdown(buffer, imageExtractor, chartExtractor, optio
122
123
  const xmlContent = await slideFile.file.async('string');
123
124
  const slideContent = await extractSlideTextContent(xmlContent);
124
125
  if (slideContent.trim()) {
125
- markdown += slideContent + '\n\n';
126
+ markdown += `${slideContent}\n\n`;
126
127
  }
127
128
  else {
128
129
  markdown += '*No content*\n\n';
@@ -171,7 +172,6 @@ async function extractPptxTitle(buffer) {
171
172
  async function extractSlideTextContent(xmlContent) {
172
173
  try {
173
174
  const result = await parseStringPromise(xmlContent);
174
- let markdown = '';
175
175
  // Simple text extraction function
176
176
  function extractText(obj) {
177
177
  let text = '';
@@ -187,10 +187,10 @@ async function extractSlideTextContent(xmlContent) {
187
187
  if (Array.isArray(obj['a:t'])) {
188
188
  for (const textItem of obj['a:t']) {
189
189
  if (typeof textItem === 'string') {
190
- text += textItem + ' ';
190
+ text += `${textItem} `;
191
191
  }
192
192
  else if (textItem && typeof textItem === 'object' && '_' in textItem) {
193
- text += textItem._ + ' ';
193
+ text += `${textItem._} `;
194
194
  }
195
195
  }
196
196
  }