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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/parsers/docx-parser.d.ts.map +1 -1
- package/dist/parsers/docx-parser.js +15 -19
- package/dist/parsers/docx-parser.js.map +1 -1
- package/dist/parsers/hwp-parser.js +165 -58
- package/dist/parsers/hwp-parser.js.map +1 -1
- package/dist/parsers/pdf-parser.js +1 -1
- package/dist/parsers/pdf-parser.js.map +1 -1
- package/dist/parsers/pptx-parser.d.ts.map +1 -1
- package/dist/parsers/pptx-parser.js +9 -9
- package/dist/parsers/pptx-parser.js.map +1 -1
- package/dist/parsers/xlsx-parser.d.ts +1 -1
- package/dist/parsers/xlsx-parser.d.ts.map +1 -1
- package/dist/parsers/xlsx-parser.js +6 -6
- package/dist/parsers/xlsx-parser.js.map +1 -1
- package/dist/utils/browser-polyfills.d.ts +5 -5
- package/dist/utils/browser-polyfills.d.ts.map +1 -1
- package/dist/utils/browser-polyfills.js +4 -4
- package/dist/utils/browser-polyfills.js.map +1 -1
- package/dist/utils/chart-extractor.d.ts.map +1 -1
- package/dist/utils/chart-extractor.js +10 -10
- package/dist/utils/chart-extractor.js.map +1 -1
- package/dist/utils/image-extractor.js +5 -5
- package/dist/utils/image-extractor.js.map +1 -1
- package/dist/utils/layout-parser.d.ts.map +1 -1
- package/dist/utils/layout-parser.js +15 -16
- package/dist/utils/layout-parser.js.map +1 -1
- package/dist/utils/libreoffice-detector.d.ts.map +1 -1
- package/dist/utils/libreoffice-detector.js +3 -2
- package/dist/utils/libreoffice-detector.js.map +1 -1
- package/dist/utils/pdf-extractor.d.ts +1 -1
- package/dist/utils/pdf-extractor.d.ts.map +1 -1
- package/dist/utils/pdf-extractor.js +15 -17
- package/dist/utils/pdf-extractor.js.map +1 -1
- package/dist/utils/pptx-visual-parser.d.ts +13 -13
- package/dist/utils/pptx-visual-parser.d.ts.map +1 -1
- package/dist/utils/pptx-visual-parser.js +14 -15
- package/dist/utils/pptx-visual-parser.js.map +1 -1
- 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,
|
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
|
77
|
-
dom.window
|
76
|
+
if (!dom.window.IntersectionObserver) {
|
77
|
+
dom.window.IntersectionObserver = global.IntersectionObserver;
|
78
78
|
}
|
79
|
-
if (!dom.window
|
80
|
-
dom.window
|
79
|
+
if (!dom.window.ResizeObserver) {
|
80
|
+
dom.window.ResizeObserver = global.ResizeObserver;
|
81
81
|
}
|
82
|
-
if (!dom.window
|
83
|
-
dom.window
|
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
|
-
|
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,
|
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
|
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
|
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 (
|
333
|
-
console.warn(`Failed to process embedded image ${index + 1}:`,
|
332
|
+
catch (e) {
|
333
|
+
console.warn(`Failed to process embedded image ${index + 1}:`, e);
|
334
334
|
}
|
335
335
|
}
|
336
336
|
});
|
337
337
|
}
|
338
|
-
catch (
|
339
|
-
console.warn('Failed to extract images from HWP:',
|
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 (
|
372
|
-
console.warn(`Failed to extract image ${fileName}:`,
|
369
|
+
catch (e) {
|
370
|
+
console.warn(`Failed to extract image ${fileName}:`, e);
|
373
371
|
}
|
374
372
|
}
|
375
373
|
}
|
376
374
|
}
|
377
|
-
catch (
|
378
|
-
console.warn('Failed to extract images from HWPX:',
|
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
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
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 (
|
435
|
-
console.warn('Error processing OWPML structure:',
|
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
|
449
|
+
* Extract content nodes (text and images) from OWPML structure
|
442
450
|
*/
|
443
|
-
function
|
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
|
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
|
-
|
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
|
-
|
476
|
+
extractContentNodes(item, contentItems, positionCounter, images);
|
465
477
|
}
|
466
478
|
return;
|
467
479
|
}
|
468
|
-
// If it's an object, look for
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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 ``;
|
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 ``;
|
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,
|
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
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
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":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAA6C,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,cAA8B,EAC9B,UAA2B,EAAE;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnC,oCAAoC;QACpC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/E,QAAQ,IAAI,YAAY,CAAC;YAC3B,CAAC;YAAC,
|
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":"
|
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
|
-
|
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
|
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
|
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
|
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
|
}
|