file2md 1.2.5 → 1.2.7

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 -58
  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
@@ -199,6 +199,9 @@ async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
199
199
  const moreFiles = allFiles.length > 10 ? ` ... and ${allFiles.length - 10} more files` : '';
200
200
  throw new ParseError('HWPX', `No content XML file found in HWPX archive. Files found: ${fileList}${moreFiles}`);
201
201
  }
202
+ // Extract images from ZIP if requested (do this before parsing to pass images to parser)
203
+ const images = options.extractImages !== false ?
204
+ await extractHwpxImages(zip, imageExtractor) : [];
202
205
  // Parse all section files if multiple exist
203
206
  let allContent = '';
204
207
  if (sectionFiles.length > 0) {
@@ -217,9 +220,9 @@ async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
217
220
  const parsedXml = parser.parse(xmlContent);
218
221
  console.log(`Parsed HWPX section: ${sectionFileName}`);
219
222
  // Convert each section to markdown and combine
220
- const sectionMarkdown = convertOwpmlToMarkdown(parsedXml);
223
+ const sectionMarkdown = convertOwpmlToMarkdown(parsedXml, images);
221
224
  if (sectionMarkdown && sectionMarkdown.trim()) {
222
- allContent += sectionMarkdown + '\n\n';
225
+ allContent += `${sectionMarkdown}\n\n`;
223
226
  }
224
227
  }
225
228
  }
@@ -236,11 +239,8 @@ async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
236
239
  });
237
240
  const parsedXml = parser.parse(xmlContent);
238
241
  console.log(`Parsed HWPX XML from ${contentFileName}`);
239
- allContent = convertOwpmlToMarkdown(parsedXml);
242
+ allContent = convertOwpmlToMarkdown(parsedXml, images);
240
243
  }
241
- // Extract images from ZIP if requested
242
- const images = options.extractImages !== false ?
243
- await extractHwpxImages(zip, imageExtractor) : [];
244
244
  const markdown = allContent.trim() || '*No readable content found in HWPX file*';
245
245
  return {
246
246
  markdown,
@@ -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
  }
@@ -353,8 +353,6 @@ async function extractHwpxImages(zip, imageExtractor) {
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
356
  // Actually save the image to disk using imageExtractor
359
357
  // Pass originalPath and basePath (empty string for base)
360
358
  const savedPath = await imageExtractor.saveImage(imageBuffer, fileName, '');
@@ -368,14 +366,14 @@ async function extractHwpxImages(zip, imageExtractor) {
368
366
  console.log(`Extracted and saved image: ${fileName} -> ${savedPath}`);
369
367
  }
370
368
  }
371
- catch (error) {
372
- console.warn(`Failed to extract image ${fileName}:`, error);
369
+ catch (e) {
370
+ console.warn(`Failed to extract image ${fileName}:`, e);
373
371
  }
374
372
  }
375
373
  }
376
374
  }
377
- catch (error) {
378
- console.warn('Failed to extract images from HWPX:', error);
375
+ catch (e) {
376
+ console.warn('Failed to extract images from HWPX:', e);
379
377
  }
380
378
  return images;
381
379
  }
@@ -413,34 +411,44 @@ function convertHwpContentToMarkdown(textContent) {
413
411
  /**
414
412
  * Convert OWPML structure to markdown
415
413
  */
416
- function convertOwpmlToMarkdown(owpmlData) {
414
+ function convertOwpmlToMarkdown(owpmlData, images = []) {
417
415
  let markdown = '';
418
416
  try {
419
417
  // HWPX uses hp:p for paragraphs and hp:t for text
420
- // Navigate the structure to find text nodes
421
- const texts = [];
422
- // Extract all text content recursively, but only from text nodes
423
- extractTextNodes(owpmlData, texts);
424
- // Join extracted texts with proper spacing
425
- if (texts.length > 0) {
426
- markdown = texts
427
- .filter(text => text.trim().length > 0)
428
- .join('\n\n');
418
+ // Navigate the structure to find text nodes and image references
419
+ const contentItems = [];
420
+ const positionCounter = { value: 0 };
421
+ // Extract all text content and image references recursively
422
+ extractContentNodes(owpmlData, contentItems, positionCounter, images);
423
+ // Sort by position to maintain document order
424
+ contentItems.sort((a, b) => a.position - b.position);
425
+ // Build markdown with text and image references
426
+ if (contentItems.length > 0) {
427
+ const markdownParts = [];
428
+ for (const item of contentItems) {
429
+ if (item.type === 'text' && item.content.trim().length > 0) {
430
+ markdownParts.push(item.content);
431
+ }
432
+ else if (item.type === 'image' && item.content.trim().length > 0) {
433
+ markdownParts.push(item.content);
434
+ }
435
+ }
436
+ markdown = markdownParts.join('\n\n');
429
437
  }
430
438
  if (!markdown.trim()) {
431
439
  markdown = '*No readable content found in HWPX file*';
432
440
  }
433
441
  }
434
- catch (error) {
435
- console.warn('Error processing OWPML structure:', error);
442
+ catch (e) {
443
+ console.warn('Error processing OWPML structure:', e);
436
444
  markdown = '*Error processing HWPX content*';
437
445
  }
438
446
  return markdown;
439
447
  }
440
448
  /**
441
- * Extract text nodes from OWPML structure
449
+ * Extract content nodes (text and images) from OWPML structure
442
450
  */
443
- function extractTextNodes(obj, texts) {
451
+ function extractContentNodes(obj, contentItems, positionCounter, images) {
444
452
  if (!obj)
445
453
  return;
446
454
  // If it's a string and looks like actual text (not XML attribute values)
@@ -448,38 +456,56 @@ function extractTextNodes(obj, texts) {
448
456
  // Filter out numeric-only strings, single words that look like attribute values
449
457
  const trimmed = obj.trim();
450
458
  if (trimmed &&
451
- !trimmed.match(/^[0-9\s\-\.]+$/) && // Skip pure numbers
459
+ !trimmed.match(/^[0-9\s.-]+$/) && // Skip pure numbers
452
460
  !trimmed.match(/^[A-Z_]+$/) && // Skip constants like "BOTH", "LEFT_ONLY"
453
461
  trimmed.length > 2 && // Skip very short strings
454
462
  !trimmed.includes('pixel') && // Skip image metadata
455
463
  !trimmed.startsWith('그림입니다') && // Skip image placeholders
456
464
  !trimmed.includes('원본 그림')) { // Skip image descriptions
457
- texts.push(trimmed);
465
+ contentItems.push({
466
+ type: 'text',
467
+ content: trimmed,
468
+ position: positionCounter.value++
469
+ });
458
470
  }
459
471
  return;
460
472
  }
461
473
  // If it's an array, process each item
462
474
  if (Array.isArray(obj)) {
463
475
  for (const item of obj) {
464
- extractTextNodes(item, texts);
476
+ extractContentNodes(item, contentItems, positionCounter, images);
465
477
  }
466
478
  return;
467
479
  }
468
- // If it's an object, look for text content
480
+ // If it's an object, look for content
469
481
  if (typeof obj === 'object' && obj !== null) {
482
+ // Check for image/drawing references in HWPX
483
+ // HWPX can have hp:pic, PICTURE, IMAGE, or drawing objects
484
+ if (obj['hp:pic'] || obj['PICTURE'] || obj['IMAGE'] ||
485
+ obj['hp:draw'] || obj['DRAWING']) {
486
+ // Try to find a matching image and insert reference
487
+ const imageRef = findImageReference(obj, images);
488
+ if (imageRef) {
489
+ contentItems.push({
490
+ type: 'image',
491
+ content: imageRef,
492
+ position: positionCounter.value++
493
+ });
494
+ }
495
+ }
470
496
  // HWPX specific text node handling
471
497
  // Look for hp:p (paragraphs) and hp:t (text) nodes
472
498
  if (obj['hp:p']) {
473
499
  const paragraphs = Array.isArray(obj['hp:p']) ? obj['hp:p'] : [obj['hp:p']];
474
500
  for (const para of paragraphs) {
475
- extractParagraphText(para, texts);
501
+ extractParagraphContent(para, contentItems, positionCounter, images);
476
502
  }
477
503
  }
478
504
  // Also check for plain p nodes
479
505
  if (obj.p) {
480
506
  const paragraphs = Array.isArray(obj.p) ? obj.p : [obj.p];
481
507
  for (const para of paragraphs) {
482
- extractParagraphText(para, texts);
508
+ extractParagraphContent(para, contentItems, positionCounter, images);
483
509
  }
484
510
  }
485
511
  // Check for TEXT nodes
@@ -489,7 +515,11 @@ function extractTextNodes(obj, texts) {
489
515
  if (textNode['#text']) {
490
516
  const text = textNode['#text'].trim();
491
517
  if (text && !isMetadata(text)) {
492
- texts.push(text);
518
+ contentItems.push({
519
+ type: 'text',
520
+ content: text,
521
+ position: positionCounter.value++
522
+ });
493
523
  }
494
524
  }
495
525
  }
@@ -504,35 +534,100 @@ function extractTextNodes(obj, texts) {
504
534
  key !== 'MAPPINGTABLE' &&
505
535
  key !== 'COMPATIBLE_DOCUMENT' &&
506
536
  key !== 'LAYOUTCOMPATIBILITY') {
507
- extractTextNodes(value, texts);
537
+ extractContentNodes(value, contentItems, positionCounter, images);
538
+ }
539
+ }
540
+ }
541
+ }
542
+ /**
543
+ * Find image reference based on drawing/picture object
544
+ */
545
+ function findImageReference(drawingObj, images) {
546
+ if (!images || images.length === 0)
547
+ return null;
548
+ try {
549
+ // Try to find an image ID or reference in the drawing object
550
+ const obj = drawingObj;
551
+ // Look for common image reference patterns
552
+ let imageId = null;
553
+ // Check various possible image reference attributes
554
+ if (obj['@_id'] || obj['@_refId'] || obj['@_href']) {
555
+ imageId = obj['@_id'] || obj['@_refId'] || obj['@_href'];
556
+ }
557
+ // If we found an ID, try to match it with our extracted images
558
+ if (imageId) {
559
+ const matchingImage = images.find(img => img.originalPath.includes(imageId) ||
560
+ img.savedPath.includes(imageId));
561
+ if (matchingImage) {
562
+ const imageName = path.basename(matchingImage.savedPath);
563
+ return `![Image](images/${imageName})`;
508
564
  }
509
565
  }
566
+ // If no specific match found, use the next available image
567
+ // This is a fallback approach for when image references are unclear
568
+ if (images.length > 0) {
569
+ const imageName = path.basename(images[0].savedPath);
570
+ return `![Image](images/${imageName})`;
571
+ }
572
+ }
573
+ catch (e) {
574
+ console.warn('Error finding image reference:', e);
575
+ }
576
+ return null;
577
+ }
578
+ /**
579
+ * Extract content from a paragraph node (both text and images)
580
+ */
581
+ function extractParagraphContent(para, contentItems, positionCounter, images) {
582
+ if (!para)
583
+ return;
584
+ // Check for images/drawings in paragraph first
585
+ const obj = para;
586
+ if (obj['hp:pic'] || obj['PICTURE'] || obj['IMAGE'] || obj['hp:draw'] || obj['DRAWING']) {
587
+ const imageRef = findImageReference(obj, images);
588
+ if (imageRef) {
589
+ contentItems.push({
590
+ type: 'image',
591
+ content: imageRef,
592
+ position: positionCounter.value++
593
+ });
594
+ }
510
595
  }
596
+ // Then extract text content using the original logic
597
+ extractParagraphText(para, contentItems, positionCounter);
511
598
  }
512
599
  /**
513
- * Extract text from a paragraph node
600
+ * Extract text from a paragraph node (legacy function)
514
601
  */
515
- function extractParagraphText(para, texts) {
602
+ function extractParagraphText(para, contentItems, positionCounter) {
516
603
  if (!para)
517
604
  return;
518
605
  // Look for hp:run or run nodes
519
- const runs = para['hp:run'] || para.run || para.RUN;
606
+ const runs = para['hp:run'] || para['run'] || para['RUN'];
520
607
  if (runs) {
521
608
  const runArray = Array.isArray(runs) ? runs : [runs];
522
609
  for (const run of runArray) {
523
610
  // Look for hp:t or t nodes (text content)
524
- const textNode = run['hp:t'] || run.t || run.T || run['#text'];
611
+ const textNode = run['hp:t'] || run['t'] || run['T'] || run['#text'];
525
612
  if (textNode) {
526
613
  if (typeof textNode === 'string') {
527
614
  const text = textNode.trim();
528
615
  if (text && !isMetadata(text)) {
529
- texts.push(text);
616
+ contentItems.push({
617
+ type: 'text',
618
+ content: text,
619
+ position: positionCounter.value++
620
+ });
530
621
  }
531
622
  }
532
623
  else if (textNode['#text']) {
533
624
  const text = textNode['#text'].trim();
534
625
  if (text && !isMetadata(text)) {
535
- texts.push(text);
626
+ contentItems.push({
627
+ type: 'text',
628
+ content: text,
629
+ position: positionCounter.value++
630
+ });
536
631
  }
537
632
  }
538
633
  }
@@ -542,7 +637,11 @@ function extractParagraphText(para, texts) {
542
637
  if (para['#text']) {
543
638
  const text = para['#text'].trim();
544
639
  if (text && !isMetadata(text)) {
545
- texts.push(text);
640
+ contentItems.push({
641
+ type: 'text',
642
+ content: text,
643
+ position: positionCounter.value++
644
+ });
546
645
  }
547
646
  }
548
647
  // Check for TEXT child nodes
@@ -552,13 +651,21 @@ function extractParagraphText(para, texts) {
552
651
  if (textNode['#text']) {
553
652
  const text = textNode['#text'].trim();
554
653
  if (text && !isMetadata(text)) {
555
- texts.push(text);
654
+ contentItems.push({
655
+ type: 'text',
656
+ content: text,
657
+ position: positionCounter.value++
658
+ });
556
659
  }
557
660
  }
558
661
  else if (typeof textNode === 'string') {
559
662
  const text = textNode.trim();
560
663
  if (text && !isMetadata(text)) {
561
- texts.push(text);
664
+ contentItems.push({
665
+ type: 'text',
666
+ content: text,
667
+ position: positionCounter.value++
668
+ });
562
669
  }
563
670
  }
564
671
  }
@@ -570,7 +677,7 @@ function extractParagraphText(para, texts) {
570
677
  function isMetadata(text) {
571
678
  // Filter out common metadata patterns
572
679
  return text.match(/^[A-Z_]+$/) !== null || // Constants
573
- text.match(/^[0-9\s\-\.]+$/) !== null || // Pure numbers
680
+ text.match(/^[0-9\s.-]+$/) !== null || // Pure numbers
574
681
  text.includes('pixel') || // Image metadata
575
682
  text.startsWith('그림입니다') || // Korean "This is an image"
576
683
  text.includes('원본 그림') || // Korean "Original image"
@@ -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
  }