file2md 1.2.19 → 1.2.20

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.
@@ -11,9 +11,13 @@ export declare class ImageExtractor {
11
11
  */
12
12
  extractImagesFromZip(zip: JSZip, basePath?: string): Promise<readonly ImageData[]>;
13
13
  /**
14
- * Save an image buffer to disk
14
+ * Save an image buffer to disk, converting to web-compatible format if needed
15
15
  */
16
16
  saveImage(buffer: Buffer, originalPath: string, basePath?: string): Promise<string | null>;
17
+ /**
18
+ * Convert image buffer to web-compatible format using Sharp
19
+ */
20
+ private convertImageToWebFormat;
17
21
  /**
18
22
  * Check if a file path represents an image
19
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"image-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/image-extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;gBAEjD,SAAS,GAAE,MAAiB;IAYxC;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC;IAwC5F;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BpG;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAUtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,GAAG,IAAI;IAS7E;;OAEG;IACH,gBAAgB,CAAC,WAAW,GAAE,MAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAS3E;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAExD;CACF"}
1
+ {"version":3,"file":"image-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/image-extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAUxD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;gBAEjD,SAAS,GAAE,MAAiB;IAYxC;;OAEG;IACG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC;IAwC5F;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6DpG;;OAEG;YACW,uBAAuB;IAwBrC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAUtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,GAAG,IAAI;IAS7E;;OAEG;IACH,gBAAgB,CAAC,WAAW,GAAE,MAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAS3E;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAExD;CACF"}
@@ -1,6 +1,12 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { ImageExtractionError } from '../types/errors.js';
4
+ // Web-compatible image formats
5
+ const WEB_COMPATIBLE_FORMATS = ['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'];
6
+ // Formats that Sharp can convert
7
+ const SHARP_CONVERTIBLE_FORMATS = ['.bmp', '.tiff', '.tif', '.webp', '.avif'];
8
+ // Formats that need special handling (not supported by Sharp)
9
+ const NON_CONVERTIBLE_FORMATS = ['.wmf', '.emf'];
4
10
  export class ImageExtractor {
5
11
  outputDir;
6
12
  imageCounter = 0;
@@ -51,30 +57,86 @@ export class ImageExtractor {
51
57
  return extractedImages;
52
58
  }
53
59
  /**
54
- * Save an image buffer to disk
60
+ * Save an image buffer to disk, converting to web-compatible format if needed
55
61
  */
56
62
  async saveImage(buffer, originalPath, basePath = '') {
57
63
  this.imageCounter++;
58
- const ext = path.extname(originalPath) || '.png';
59
- const filename = `image_${this.imageCounter}${ext}`;
60
- const fullPath = path.join(this.outputDir, filename);
64
+ const originalExt = path.extname(originalPath).toLowerCase() || '.png';
65
+ console.log(`[DEBUG] Processing image: ${originalPath} with extension: ${originalExt}`);
66
+ console.log(`[DEBUG] Original buffer size: ${buffer.length} bytes`);
67
+ let finalBuffer = buffer;
68
+ let finalExt = originalExt;
61
69
  try {
62
- console.log(`[DEBUG] Saving image: ${filename} (counter: ${this.imageCounter})`);
63
- console.log(`[DEBUG] Original path: ${originalPath}, Base path: ${basePath}`);
64
- console.log(`[DEBUG] Full output path: ${fullPath}`);
65
- console.log(`[DEBUG] Image buffer size: ${buffer.length} bytes`);
66
- fs.writeFileSync(fullPath, buffer);
70
+ // Check if we need to convert the image format
71
+ if (WEB_COMPATIBLE_FORMATS.includes(originalExt)) {
72
+ // Already web-compatible, use as-is
73
+ console.log(`[DEBUG] Image ${originalExt} is already web-compatible`);
74
+ }
75
+ else if (SHARP_CONVERTIBLE_FORMATS.includes(originalExt)) {
76
+ // Convert using Sharp
77
+ console.log(`[DEBUG] Converting ${originalExt} to PNG using Sharp`);
78
+ finalBuffer = await this.convertImageToWebFormat(buffer, originalExt);
79
+ finalExt = '.png';
80
+ }
81
+ else if (NON_CONVERTIBLE_FORMATS.includes(originalExt)) {
82
+ // WMF/EMF - save with PNG extension as fallback
83
+ console.log(`[DEBUG] ${originalExt} format detected - saving as PNG (browser fallback)`);
84
+ finalExt = '.png';
85
+ // Keep original buffer but change extension - browsers might handle it
86
+ }
87
+ else {
88
+ // Unknown format - try to convert with Sharp
89
+ console.log(`[DEBUG] Unknown format ${originalExt} - attempting Sharp conversion`);
90
+ try {
91
+ finalBuffer = await this.convertImageToWebFormat(buffer, originalExt);
92
+ finalExt = '.png';
93
+ }
94
+ catch (convertError) {
95
+ console.warn(`[DEBUG] Sharp conversion failed for ${originalExt}, using original buffer with PNG extension`);
96
+ finalExt = '.png';
97
+ }
98
+ }
99
+ const filename = `image_${this.imageCounter}${finalExt}`;
100
+ const fullPath = path.join(this.outputDir, filename);
101
+ console.log(`[DEBUG] Saving final image: ${filename}`);
102
+ console.log(`[DEBUG] Final buffer size: ${finalBuffer.length} bytes`);
103
+ fs.writeFileSync(fullPath, finalBuffer);
67
104
  // Store mapping for reference lookup
68
105
  const key = basePath + originalPath;
69
106
  this.extractedImages.set(key, filename);
70
- console.log(`[DEBUG] Successfully saved image and stored mapping: ${key} -> ${filename}`);
107
+ console.log(`[DEBUG] Successfully saved converted image: ${filename}`);
108
+ console.log(`[DEBUG] Format conversion: ${originalExt} -> ${finalExt}`);
71
109
  // Return the full absolute path, not just the filename
72
110
  return path.resolve(fullPath);
73
111
  }
74
112
  catch (error) {
75
113
  const message = error instanceof Error ? error.message : 'Unknown error';
76
- console.error(`[DEBUG] Failed to save image ${filename}: ${message}`);
77
- throw new ImageExtractionError(`Failed to save image ${filename}: ${message}`, error);
114
+ console.error(`[DEBUG] Failed to save/convert image: ${message}`);
115
+ throw new ImageExtractionError(`Failed to save image: ${message}`, error);
116
+ }
117
+ }
118
+ /**
119
+ * Convert image buffer to web-compatible format using Sharp
120
+ */
121
+ async convertImageToWebFormat(buffer, originalExt) {
122
+ try {
123
+ // Dynamic import Sharp to handle potential loading issues
124
+ const sharp = await import('sharp');
125
+ console.log(`[DEBUG] Using Sharp to convert ${originalExt} to PNG`);
126
+ // Convert to PNG with good compression
127
+ const convertedBuffer = await sharp.default(buffer)
128
+ .png({
129
+ quality: 90,
130
+ compressionLevel: 6,
131
+ })
132
+ .toBuffer();
133
+ console.log(`[DEBUG] Sharp conversion successful: ${buffer.length} bytes -> ${convertedBuffer.length} bytes`);
134
+ return convertedBuffer;
135
+ }
136
+ catch (error) {
137
+ const message = error instanceof Error ? error.message : 'Unknown error';
138
+ console.error(`[DEBUG] Sharp conversion failed: ${message}`);
139
+ throw new ImageExtractionError(`Sharp conversion failed: ${message}`, error);
78
140
  }
79
141
  }
80
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"image-extractor.js","sourceRoot":"","sources":["../../src/utils/image-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-extractor.js","sourceRoot":"","sources":["../../src/utils/image-extractor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "file2md",
3
- "version": "1.2.19",
3
+ "version": "1.2.20",
4
4
  "description": "A TypeScript library for converting various document types (PDF, DOCX, XLSX, PPTX, HWP, HWPX) into Markdown with image and layout preservation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "homepage": "https://github.com/ricky-clevi/file2md#readme",
46
46
  "dependencies": {
47
+ "@types/sharp": "^0.31.1",
47
48
  "fast-xml-parser": "^4.3.2",
48
49
  "file-type": "^16.5.4",
49
50
  "hwp.js": "^0.0.3",
@@ -53,6 +54,7 @@
53
54
  "pdf2pic": "^2.1.4",
54
55
  "react-markdown": "^9.1.0",
55
56
  "remark-gfm": "^4.0.1",
57
+ "sharp": "^0.34.3",
56
58
  "xml2js": "^0.6.2"
57
59
  },
58
60
  "engines": {