file2md 1.1.9 → 1.1.10

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.
@@ -5,30 +5,80 @@ import libre from 'libreoffice-convert';
5
5
  import { fromBuffer } from 'pdf2pic';
6
6
  import { promisify } from 'node:util';
7
7
  import { ParseError } from '../types/errors.js';
8
+ import { LibreOfficeDetector } from './libreoffice-detector.js';
9
+ import { LibreOfficeConverter } from './libreoffice-converter.js';
10
+ import { PptxVisualParser } from './pptx-visual-parser.js';
11
+ import { PuppeteerRenderer } from './puppeteer-renderer.js';
8
12
  // Promisify libreoffice-convert
9
13
  const convertAsync = promisify(libre.convert);
10
14
  export class SlideRenderer {
11
15
  outputDir;
16
+ converter;
12
17
  constructor(outputDir) {
13
18
  this.outputDir = outputDir;
19
+ this.converter = new LibreOfficeConverter();
14
20
  }
15
21
  /**
16
22
  * Convert PPTX buffer to individual slide images
17
23
  */
18
24
  async renderSlidesToImages(pptxBuffer, options = {}) {
19
- const { quality = 90, density = 150, format = 'png', saveBase64 = false } = options;
25
+ const { quality = 90, density = 150, format = 'png', saveBase64 = false, useVisualLayouts = true, usePuppeteer = false, puppeteerOptions } = options;
20
26
  try {
21
27
  // Ensure output directory exists
22
28
  await fs.mkdir(this.outputDir, { recursive: true });
23
29
  console.log('Created slide output directory:', this.outputDir);
24
- // Step 1: Convert PPTX to PDF using LibreOffice
25
- console.log('Converting PPTX to PDF...');
30
+ // Step 1: Optionally parse visual layouts for enhanced rendering
31
+ let visualLayouts;
32
+ if (useVisualLayouts || usePuppeteer) {
33
+ try {
34
+ console.log('Parsing visual layouts for enhanced rendering...');
35
+ const visualParser = new PptxVisualParser();
36
+ visualLayouts = await visualParser.parseVisualElements(pptxBuffer);
37
+ console.log(`Extracted visual layouts for ${visualLayouts.length} slides`);
38
+ }
39
+ catch (visualError) {
40
+ console.warn('Visual layout parsing failed, continuing with standard rendering:', visualError);
41
+ }
42
+ }
43
+ // Step 2: Try Puppeteer rendering first if requested and visual layouts are available
44
+ if (usePuppeteer && visualLayouts && visualLayouts.length > 0) {
45
+ try {
46
+ console.log('Attempting Puppeteer browser-based rendering...');
47
+ const puppeteerResult = await this.renderWithPuppeteer(visualLayouts, {
48
+ ...puppeteerOptions,
49
+ format: format === 'jpg' ? 'jpeg' : format,
50
+ quality
51
+ });
52
+ if (puppeteerResult.slideImages.length > 0) {
53
+ console.log(`Puppeteer rendering successful: ${puppeteerResult.slideImages.length} slides`);
54
+ return {
55
+ slideImages: puppeteerResult.slideImages,
56
+ slideCount: puppeteerResult.slideCount,
57
+ visualLayouts,
58
+ metadata: {
59
+ ...puppeteerResult.metadata,
60
+ hasVisualLayouts: true
61
+ }
62
+ };
63
+ }
64
+ }
65
+ catch (puppeteerError) {
66
+ console.warn('Puppeteer rendering failed, falling back to LibreOffice:', puppeteerError);
67
+ }
68
+ }
69
+ // Step 3: Fallback to LibreOffice PDF rendering
70
+ console.log('Converting PPTX to PDF using LibreOffice...');
26
71
  const pdfBuffer = await this.convertPptxToPdf(pptxBuffer);
27
72
  console.log('PPTX to PDF conversion successful, PDF size:', pdfBuffer.length);
28
- // Step 2: Convert PDF to individual slide images
73
+ // Step 3: Convert PDF to individual slide images
29
74
  console.log('Converting PDF to slide images...');
30
75
  const slideImages = await this.convertPdfToSlideImages(pdfBuffer, { quality, density, format, saveBase64 });
31
76
  console.log(`Generated ${slideImages.length} slide images`);
77
+ // Step 4: Enhance slides using visual layouts if available
78
+ if (visualLayouts && slideImages.length === visualLayouts.length) {
79
+ console.log('Enhancing slide images with visual layout information...');
80
+ await this.enhanceSlideImagesWithLayouts(slideImages, visualLayouts, { quality, density, format });
81
+ }
32
82
  // Verify images were actually created
33
83
  for (const slide of slideImages) {
34
84
  const exists = await fs.access(slide.savedPath).then(() => true).catch(() => false);
@@ -37,10 +87,12 @@ export class SlideRenderer {
37
87
  return {
38
88
  slideImages,
39
89
  slideCount: slideImages.length,
90
+ visualLayouts,
40
91
  metadata: {
41
92
  format,
42
93
  quality,
43
- density
94
+ density,
95
+ hasVisualLayouts: visualLayouts !== undefined
44
96
  }
45
97
  };
46
98
  }
@@ -51,24 +103,60 @@ export class SlideRenderer {
51
103
  }
52
104
  }
53
105
  /**
54
- * Convert PPTX buffer to PDF buffer using multiple methods
106
+ * Convert PPTX buffer to PDF buffer using enhanced LibreOffice converter
55
107
  */
56
108
  async convertPptxToPdf(pptxBuffer) {
57
- // Try LibreOffice first
109
+ // Check LibreOffice installation first
110
+ const detector = LibreOfficeDetector.getInstance();
111
+ const libreOfficeInfo = await detector.checkLibreOfficeInstallation();
112
+ if (!libreOfficeInfo.installed) {
113
+ console.error('LibreOffice is not installed on this system.');
114
+ console.error('Error:', libreOfficeInfo.error);
115
+ console.log('\n' + detector.getInstallationInstructions());
116
+ console.log('Download URL:', detector.getDownloadUrl());
117
+ // Continue with alternative method
118
+ console.log('Attempting alternative slide screenshot generation...');
119
+ return await this.createAlternativeSlideImages(pptxBuffer);
120
+ }
121
+ // Check version compatibility
122
+ if (!detector.isVersionSupported(libreOfficeInfo.version)) {
123
+ console.warn(`LibreOffice version ${libreOfficeInfo.version} is below the recommended version 7.0`);
124
+ }
125
+ console.log(`LibreOffice detected: ${libreOfficeInfo.path} (version ${libreOfficeInfo.version})`);
126
+ // Try enhanced LibreOffice conversion with progress tracking
58
127
  try {
59
- console.log('Trying LibreOffice conversion...');
60
- const pdfBuffer = await convertAsync(pptxBuffer, '.pdf', undefined);
128
+ console.log('Starting enhanced LibreOffice conversion...');
129
+ const pdfBuffer = await this.converter.convertWithProgress(pptxBuffer, {
130
+ quality: 'maximum',
131
+ timeout: 60000,
132
+ additionalArgs: ['--nofirststartwizard']
133
+ }, (progress) => {
134
+ console.log(`Conversion progress: ${progress.stage} - ${progress.message}`);
135
+ });
61
136
  if (pdfBuffer && pdfBuffer.length > 0) {
62
- console.log('LibreOffice conversion successful, PDF size:', pdfBuffer.length);
137
+ console.log('Enhanced LibreOffice conversion successful, PDF size:', pdfBuffer.length);
63
138
  return pdfBuffer;
64
139
  }
65
140
  }
66
141
  catch (libreOfficeError) {
67
142
  const message = libreOfficeError instanceof Error ? libreOfficeError.message : 'Unknown error';
68
- console.log('LibreOffice conversion failed:', message);
143
+ console.error('Enhanced LibreOffice conversion failed:', message);
144
+ // Fallback to simple conversion method
145
+ try {
146
+ console.log('Trying fallback LibreOffice conversion...');
147
+ const pdfBuffer = await convertAsync(pptxBuffer, '.pdf', undefined);
148
+ if (pdfBuffer && pdfBuffer.length > 0) {
149
+ console.log('Fallback LibreOffice conversion successful, PDF size:', pdfBuffer.length);
150
+ return pdfBuffer;
151
+ }
152
+ }
153
+ catch (fallbackError) {
154
+ const fallbackMessage = fallbackError instanceof Error ? fallbackError.message : 'Unknown error';
155
+ console.error('Fallback LibreOffice conversion also failed:', fallbackMessage);
156
+ }
69
157
  }
70
- // LibreOffice failed, try alternative approach
71
- console.log('Attempting alternative slide screenshot generation...');
158
+ // All LibreOffice methods failed, try alternative approach
159
+ console.log('All LibreOffice methods failed, falling back to alternative slide screenshot generation...');
72
160
  return await this.createAlternativeSlideImages(pptxBuffer);
73
161
  }
74
162
  /**
@@ -423,7 +511,7 @@ export class SlideRenderer {
423
511
  return Buffer.from(placeholderText);
424
512
  }
425
513
  /**
426
- * Convert PDF buffer to individual slide images using pdf2pic or return pre-generated images
514
+ * Convert PDF buffer to individual slide images with optimization
427
515
  */
428
516
  async convertPdfToSlideImages(pdfBuffer, options) {
429
517
  try {
@@ -432,24 +520,21 @@ export class SlideRenderer {
432
520
  console.log('Using pre-generated slide images from alternative method');
433
521
  return this.generatedSlideImages;
434
522
  }
435
- // Standard PDF to image conversion using pdf2pic
523
+ // Standard PDF to image conversion using pdf2pic with optimization
436
524
  await fs.mkdir(this.outputDir, { recursive: true });
437
525
  console.log('PDF to images: Output directory created:', this.outputDir);
438
- // Configure pdf2pic
526
+ // Optimize settings based on quality
527
+ const optimizedOptions = this.optimizePdfToImageSettings(options);
528
+ console.log('Optimized PDF2PIC settings:', optimizedOptions);
529
+ // Configure pdf2pic with optimized settings
439
530
  const convert = fromBuffer(pdfBuffer, {
440
- density: options.density,
531
+ density: optimizedOptions.density,
441
532
  saveFilename: 'slide',
442
533
  savePath: this.outputDir,
443
534
  format: options.format,
444
- width: undefined, // Let pdf2pic calculate based on density
445
- height: undefined,
446
- quality: options.quality
447
- });
448
- console.log('PDF2PIC configuration:', {
449
- density: options.density,
450
- format: options.format,
451
- quality: options.quality,
452
- outputDir: this.outputDir
535
+ width: optimizedOptions.width,
536
+ height: optimizedOptions.height,
537
+ quality: optimizedOptions.quality
453
538
  });
454
539
  // Get total number of pages first
455
540
  const storeAsImage = convert.bulk(-1, true);
@@ -462,22 +547,39 @@ export class SlideRenderer {
462
547
  const filename = `slide-${slideNumber.toString().padStart(3, '0')}.${options.format}`;
463
548
  const savedPath = path.join(this.outputDir, filename);
464
549
  console.log(`Processing slide ${slideNumber}, expected file: ${filename}`);
465
- // Save the image file
466
- const imageBuffer = result.buffer;
467
- if (imageBuffer) {
468
- await fs.writeFile(savedPath, imageBuffer);
469
- console.log(`Saved slide image: ${savedPath} (${imageBuffer.length} bytes)`);
470
- slideImages.push({
471
- originalPath: `slide${slideNumber}`, // Virtual path for consistency
472
- savedPath: savedPath,
473
- size: imageBuffer.length,
474
- format: options.format
475
- });
550
+ // Save the image file with error handling
551
+ try {
552
+ const imageBuffer = result.buffer;
553
+ if (imageBuffer && imageBuffer.length > 0) {
554
+ await fs.writeFile(savedPath, imageBuffer);
555
+ // Verify file was written correctly
556
+ const stats = await fs.stat(savedPath);
557
+ if (stats.size > 0) {
558
+ console.log(`Saved slide image: ${savedPath} (${stats.size} bytes)`);
559
+ slideImages.push({
560
+ originalPath: `slide${slideNumber}`,
561
+ savedPath: savedPath,
562
+ size: stats.size,
563
+ format: options.format
564
+ });
565
+ }
566
+ else {
567
+ console.warn(`Slide ${slideNumber} file is empty after writing`);
568
+ }
569
+ }
570
+ else {
571
+ console.warn(`No buffer found for slide ${slideNumber}`);
572
+ }
476
573
  }
477
- else {
478
- console.warn(`No buffer found for slide ${slideNumber}`);
574
+ catch (slideError) {
575
+ const slideMessage = slideError instanceof Error ? slideError.message : 'Unknown error';
576
+ console.warn(`Failed to process slide ${slideNumber}: ${slideMessage}`);
577
+ // Continue processing other slides
479
578
  }
480
579
  }
580
+ if (slideImages.length === 0) {
581
+ throw new Error('No slide images were successfully created');
582
+ }
481
583
  console.log(`Successfully created ${slideImages.length} slide images`);
482
584
  return slideImages;
483
585
  }
@@ -487,6 +589,53 @@ export class SlideRenderer {
487
589
  throw new ParseError('SlideRenderer', `PDF to images conversion failed: ${message}`, error);
488
590
  }
489
591
  }
592
+ /**
593
+ * Optimize PDF to image conversion settings based on quality requirements
594
+ */
595
+ optimizePdfToImageSettings(options) {
596
+ // Standard slide dimensions (16:9 aspect ratio)
597
+ const baseWidth = 1920;
598
+ const baseHeight = 1080;
599
+ // Adjust settings based on quality
600
+ let optimizedDensity = options.density;
601
+ let optimizedQuality = options.quality;
602
+ let width = baseWidth;
603
+ let height = baseHeight;
604
+ if (options.quality >= 95) {
605
+ // Ultra-high quality
606
+ optimizedDensity = Math.max(options.density, 300);
607
+ optimizedQuality = 100;
608
+ width = 2560;
609
+ height = 1440;
610
+ }
611
+ else if (options.quality >= 85) {
612
+ // High quality
613
+ optimizedDensity = Math.max(options.density, 200);
614
+ optimizedQuality = Math.max(options.quality, 90);
615
+ width = 1920;
616
+ height = 1080;
617
+ }
618
+ else if (options.quality >= 70) {
619
+ // Medium quality
620
+ optimizedDensity = Math.max(options.density, 150);
621
+ optimizedQuality = Math.max(options.quality, 80);
622
+ width = 1600;
623
+ height = 900;
624
+ }
625
+ else {
626
+ // Lower quality for faster processing
627
+ optimizedDensity = Math.max(options.density, 100);
628
+ optimizedQuality = options.quality;
629
+ width = 1280;
630
+ height = 720;
631
+ }
632
+ return {
633
+ density: optimizedDensity,
634
+ quality: optimizedQuality,
635
+ width,
636
+ height
637
+ };
638
+ }
490
639
  /**
491
640
  * Generate markdown with slide images
492
641
  */
@@ -506,6 +655,94 @@ export class SlideRenderer {
506
655
  }
507
656
  return markdown.trim();
508
657
  }
658
+ /**
659
+ * Enhance slide images using visual layout information
660
+ */
661
+ async enhanceSlideImagesWithLayouts(slideImages, visualLayouts, options) {
662
+ try {
663
+ // Try to import Canvas for enhanced rendering
664
+ let Canvas;
665
+ try {
666
+ Canvas = await import('canvas');
667
+ }
668
+ catch {
669
+ console.log('Canvas module not available for slide enhancement');
670
+ return;
671
+ }
672
+ for (let i = 0; i < slideImages.length && i < visualLayouts.length; i++) {
673
+ const slideImage = slideImages[i];
674
+ const layout = visualLayouts[i];
675
+ try {
676
+ // Read existing slide image
677
+ const originalImageBuffer = await fs.readFile(slideImage.savedPath);
678
+ // Create canvas from original image
679
+ const originalImage = await Canvas.loadImage(originalImageBuffer);
680
+ const canvas = Canvas.createCanvas(originalImage.width, originalImage.height);
681
+ const ctx = canvas.getContext('2d');
682
+ // Draw original image as base
683
+ ctx.drawImage(originalImage, 0, 0);
684
+ // Overlay additional visual elements if needed
685
+ await this.addVisualEnhancements(ctx, layout, {
686
+ width: originalImage.width,
687
+ height: originalImage.height,
688
+ slideNumber: i + 1
689
+ });
690
+ // Save enhanced image (optional - only if we made changes)
691
+ const enhancedBuffer = canvas.toBuffer(`image/${options.format}`);
692
+ // Only replace if the enhancement actually improved the image
693
+ if (enhancedBuffer.length > 0) {
694
+ console.log(`Enhanced slide ${i + 1} with visual layout information`);
695
+ // For now, we'll keep the original to avoid overwriting working images
696
+ // In the future, this could replace the original with the enhanced version
697
+ }
698
+ }
699
+ catch (slideError) {
700
+ console.warn(`Failed to enhance slide ${i + 1}:`, slideError);
701
+ // Continue with other slides
702
+ }
703
+ }
704
+ }
705
+ catch (error) {
706
+ console.warn('Slide enhancement failed:', error);
707
+ // Enhancement is optional, so we don't throw errors
708
+ }
709
+ }
710
+ /**
711
+ * Add visual enhancements based on layout information
712
+ */
713
+ async addVisualEnhancements(ctx, layout, dimensions) {
714
+ try {
715
+ // Register fonts for international character support
716
+ const Canvas = await import('canvas');
717
+ await this.registerFontsForCanvas(Canvas);
718
+ // Add subtle overlay indicators for different element types
719
+ const textElements = layout.elements.filter(e => e.type === 'text');
720
+ const imageElements = layout.elements.filter(e => e.type === 'image');
721
+ const chartElements = layout.elements.filter(e => e.type === 'chart');
722
+ // Add corner annotations for element counts (very subtle)
723
+ if (textElements.length > 0 || imageElements.length > 0 || chartElements.length > 0) {
724
+ ctx.save();
725
+ ctx.fillStyle = 'rgba(0, 0, 0, 0.1)';
726
+ ctx.font = this.getUniversalFont(12);
727
+ let annotationY = dimensions.height - 30;
728
+ if (textElements.length > 0) {
729
+ ctx.fillText(`📝 ${textElements.length}`, 10, annotationY);
730
+ annotationY -= 15;
731
+ }
732
+ if (imageElements.length > 0) {
733
+ ctx.fillText(`🖼️ ${imageElements.length}`, 10, annotationY);
734
+ annotationY -= 15;
735
+ }
736
+ if (chartElements.length > 0) {
737
+ ctx.fillText(`📊 ${chartElements.length}`, 10, annotationY);
738
+ }
739
+ ctx.restore();
740
+ }
741
+ }
742
+ catch (error) {
743
+ console.warn('Failed to add visual enhancements:', error);
744
+ }
745
+ }
509
746
  /**
510
747
  * Clean up generated image files
511
748
  */
@@ -522,6 +759,24 @@ export class SlideRenderer {
522
759
  // Ignore cleanup errors
523
760
  }
524
761
  }
762
+ /**
763
+ * Render slides using Puppeteer browser-based rendering
764
+ */
765
+ async renderWithPuppeteer(visualLayouts, options = {}) {
766
+ const puppeteerRenderer = new PuppeteerRenderer(this.outputDir);
767
+ try {
768
+ const result = await puppeteerRenderer.renderSlidesFromLayouts(visualLayouts, options);
769
+ return {
770
+ slideImages: [...result.slideImages],
771
+ slideCount: result.slideCount,
772
+ metadata: result.metadata
773
+ };
774
+ }
775
+ finally {
776
+ // Always cleanup Puppeteer resources
777
+ await puppeteerRenderer.cleanup();
778
+ }
779
+ }
525
780
  /**
526
781
  * Check if LibreOffice is available on the system
527
782
  */
@@ -536,5 +791,11 @@ export class SlideRenderer {
536
791
  return false;
537
792
  }
538
793
  }
794
+ /**
795
+ * Check if Puppeteer is available on the system
796
+ */
797
+ static async checkPuppeteerAvailability() {
798
+ return await PuppeteerRenderer.isAvailable();
799
+ }
539
800
  }
540
801
  //# sourceMappingURL=slide-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slide-renderer.js","sourceRoot":"","sources":["../../src/utils/slide-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slide-renderer.js","sourceRoot":"","sources":["../../src/utils/slide-renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "file2md",
3
- "version": "1.1.9",
3
+ "version": "1.1.10",
4
4
  "description": "A TypeScript library for converting various document types (PDF, DOCX, XLSX, PPTX) into Markdown with image and layout preservation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -51,11 +51,13 @@
51
51
  "@types/jszip": "^3.4.1",
52
52
  "@types/node": "^20.0.0",
53
53
  "@types/pdf-parse": "^1.1.5",
54
+ "@types/puppeteer": "^7.0.4",
54
55
  "@types/xml2js": "^0.4.14",
55
56
  "@typescript-eslint/eslint-plugin": "^6.0.0",
56
57
  "@typescript-eslint/parser": "^6.0.0",
57
58
  "eslint": "^8.50.0",
58
59
  "jest": "^29.7.0",
60
+ "jest-image-snapshot": "^6.2.0",
59
61
  "rimraf": "^5.0.0",
60
62
  "ts-jest": "^29.1.0",
61
63
  "ts-node": "^10.9.0",