file2md 1.2.3 → 1.2.5

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.
@@ -135,43 +135,113 @@ async function parseHwpBinary(buffer, imageExtractor, chartExtractor, options) {
135
135
  async function parseHwpxXml(buffer, imageExtractor, chartExtractor, options) {
136
136
  try {
137
137
  const zip = await JSZip.loadAsync(buffer);
138
+ // Log all files in the ZIP for debugging
139
+ const allFiles = Object.keys(zip.files);
140
+ console.log('HWPX archive contains files:', allFiles);
138
141
  // Find main content files in HWPX (OWPML format)
142
+ // HWPX structure typically has sections in Contents/section0.xml, section1.xml, etc.
139
143
  const contentFiles = [
144
+ 'Contents/section0.xml',
145
+ 'Contents/section1.xml',
146
+ 'Contents/content.hpf',
147
+ 'Contents/header.xml',
140
148
  'Contents/content.xml',
141
149
  'content.xml',
142
150
  'Contents/document.xml',
143
151
  'document.xml',
144
152
  'Contents/body.xml',
145
- 'body.xml'
153
+ 'body.xml',
154
+ 'version.xml',
155
+ 'mimetype'
146
156
  ];
157
+ // Try to find any section files
158
+ const sectionFiles = allFiles.filter(f => f.match(/Contents\/section\d+\.xml/));
159
+ if (sectionFiles.length > 0) {
160
+ console.log('Found section files:', sectionFiles);
161
+ }
162
+ // Try to find XML files
163
+ const xmlFiles = allFiles.filter(f => f.endsWith('.xml'));
164
+ if (xmlFiles.length > 0) {
165
+ console.log('Found XML files:', xmlFiles);
166
+ }
147
167
  let contentFile = null;
148
168
  let contentFileName = '';
149
- for (const fileName of contentFiles) {
150
- contentFile = zip.file(fileName);
151
- if (contentFile) {
152
- contentFileName = fileName;
153
- break;
169
+ // First try section files
170
+ if (sectionFiles.length > 0) {
171
+ contentFileName = sectionFiles[0];
172
+ contentFile = zip.file(contentFileName);
173
+ }
174
+ // Then try our known content files
175
+ if (!contentFile) {
176
+ for (const fileName of contentFiles) {
177
+ contentFile = zip.file(fileName);
178
+ if (contentFile) {
179
+ contentFileName = fileName;
180
+ break;
181
+ }
182
+ }
183
+ }
184
+ // If still not found, try any XML file
185
+ if (!contentFile && xmlFiles.length > 0) {
186
+ for (const xmlFile of xmlFiles) {
187
+ if (!xmlFile.includes('_rels') && !xmlFile.includes('meta')) {
188
+ contentFile = zip.file(xmlFile);
189
+ if (contentFile) {
190
+ contentFileName = xmlFile;
191
+ break;
192
+ }
193
+ }
154
194
  }
155
195
  }
156
196
  if (!contentFile) {
157
- throw new ParseError('HWPX', 'No content XML file found in HWPX archive');
158
- }
159
- // Parse XML with fast-xml-parser
160
- const xmlContent = await contentFile.async('string');
161
- const parser = new XMLParser({
162
- ignoreAttributes: false,
163
- attributeNamePrefix: '@_',
164
- textNodeName: '#text',
165
- parseAttributeValue: true,
166
- trimValues: true
167
- });
168
- const parsedXml = parser.parse(xmlContent);
169
- console.log(`Parsed HWPX XML from ${contentFileName}`);
197
+ // Create a more informative error message
198
+ const fileList = allFiles.slice(0, 10).join(', ');
199
+ const moreFiles = allFiles.length > 10 ? ` ... and ${allFiles.length - 10} more files` : '';
200
+ throw new ParseError('HWPX', `No content XML file found in HWPX archive. Files found: ${fileList}${moreFiles}`);
201
+ }
202
+ // Parse all section files if multiple exist
203
+ let allContent = '';
204
+ if (sectionFiles.length > 0) {
205
+ // Process all section files in order
206
+ for (const sectionFileName of sectionFiles.sort()) {
207
+ const sectionFile = zip.file(sectionFileName);
208
+ if (sectionFile) {
209
+ const xmlContent = await sectionFile.async('string');
210
+ const parser = new XMLParser({
211
+ ignoreAttributes: false,
212
+ attributeNamePrefix: '@_',
213
+ textNodeName: '#text',
214
+ parseAttributeValue: true,
215
+ trimValues: true
216
+ });
217
+ const parsedXml = parser.parse(xmlContent);
218
+ console.log(`Parsed HWPX section: ${sectionFileName}`);
219
+ // Convert each section to markdown and combine
220
+ const sectionMarkdown = convertOwpmlToMarkdown(parsedXml);
221
+ if (sectionMarkdown && sectionMarkdown.trim()) {
222
+ allContent += sectionMarkdown + '\n\n';
223
+ }
224
+ }
225
+ }
226
+ }
227
+ else {
228
+ // Parse single content file
229
+ const xmlContent = await contentFile.async('string');
230
+ const parser = new XMLParser({
231
+ ignoreAttributes: false,
232
+ attributeNamePrefix: '@_',
233
+ textNodeName: '#text',
234
+ parseAttributeValue: true,
235
+ trimValues: true
236
+ });
237
+ const parsedXml = parser.parse(xmlContent);
238
+ console.log(`Parsed HWPX XML from ${contentFileName}`);
239
+ allContent = convertOwpmlToMarkdown(parsedXml);
240
+ }
170
241
  // Extract images from ZIP if requested
171
242
  const images = options.extractImages !== false ?
172
243
  await extractHwpxImages(zip, imageExtractor) : [];
173
- // Convert OWPML structure to markdown
174
- const markdown = convertOwpmlToMarkdown(parsedXml);
244
+ const markdown = allContent.trim() || '*No readable content found in HWPX file*';
175
245
  return {
176
246
  markdown,
177
247
  images,
@@ -276,7 +346,7 @@ async function extractHwpImages(container, imageExtractor) {
276
346
  async function extractHwpxImages(zip, imageExtractor) {
277
347
  const images = [];
278
348
  try {
279
- // Look for image files in the ZIP archive
349
+ // Look for image files in the ZIP archive - typically in BinData folder
280
350
  const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.tiff'];
281
351
  for (const [fileName, file] of Object.entries(zip.files)) {
282
352
  if (!file.dir && imageExtensions.some(ext => fileName.toLowerCase().endsWith(ext))) {
@@ -285,15 +355,18 @@ async function extractHwpxImages(zip, imageExtractor) {
285
355
  const extension = path.extname(fileName).slice(1).toLowerCase();
286
356
  const baseName = path.basename(fileName, path.extname(fileName));
287
357
  const savedFileName = `${baseName}.${extension}`;
288
- const savedPath = path.join(imageExtractor.imageDirectory, savedFileName);
289
- // Save image using imageExtractor
290
- await imageExtractor.saveImage(imageBuffer, fileName);
291
- images.push({
292
- originalPath: fileName,
293
- savedPath,
294
- format: extension,
295
- size: imageBuffer.length
296
- });
358
+ // Actually save the image to disk using imageExtractor
359
+ // Pass originalPath and basePath (empty string for base)
360
+ const savedPath = await imageExtractor.saveImage(imageBuffer, fileName, '');
361
+ if (savedPath) {
362
+ images.push({
363
+ originalPath: fileName,
364
+ savedPath,
365
+ format: extension,
366
+ size: imageBuffer.length
367
+ });
368
+ console.log(`Extracted and saved image: ${fileName} -> ${savedPath}`);
369
+ }
297
370
  }
298
371
  catch (error) {
299
372
  console.warn(`Failed to extract image ${fileName}:`, error);
@@ -343,19 +416,16 @@ function convertHwpContentToMarkdown(textContent) {
343
416
  function convertOwpmlToMarkdown(owpmlData) {
344
417
  let markdown = '';
345
418
  try {
346
- // Navigate OWPML structure (HWPX uses OWPML - Office Word Processor Markup Language)
347
- const root = owpmlData.OWPML || owpmlData.owpml || owpmlData;
348
- if (root.body || root.Body) {
349
- const body = root.body || root.Body;
350
- markdown = processOwpmlBody(body);
351
- }
352
- else if (root.BODY) {
353
- const body = root.BODY;
354
- markdown = processOwpmlBody(body);
355
- }
356
- else {
357
- // Try to extract any text content from the parsed XML
358
- markdown = extractTextFromObject(root);
419
+ // 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');
359
429
  }
360
430
  if (!markdown.trim()) {
361
431
  markdown = '*No readable content found in HWPX file*';
@@ -368,135 +438,146 @@ function convertOwpmlToMarkdown(owpmlData) {
368
438
  return markdown;
369
439
  }
370
440
  /**
371
- * Process OWPML body content
441
+ * Extract text nodes from OWPML structure
372
442
  */
373
- function processOwpmlBody(body) {
374
- let result = '';
375
- try {
376
- // Process sections
377
- if (body.section || body.Section || body.SECTION) {
378
- const sections = body.section || body.Section || body.SECTION;
379
- const sectionArray = Array.isArray(sections) ? sections : [sections];
380
- sectionArray.forEach((section) => {
381
- result += processOwpmlSection(section);
382
- });
383
- }
384
- // Process paragraphs directly in body
385
- if (body.p || body.P || body.PARA) {
386
- const paragraphs = body.p || body.P || body.PARA;
387
- const paraArray = Array.isArray(paragraphs) ? paragraphs : [paragraphs];
388
- paraArray.forEach((para) => {
389
- result += processOwpmlParagraph(para);
390
- });
391
- }
392
- // Fallback: extract any text
393
- if (!result.trim()) {
394
- result = extractTextFromObject(body);
443
+ function extractTextNodes(obj, texts) {
444
+ if (!obj)
445
+ return;
446
+ // If it's a string and looks like actual text (not XML attribute values)
447
+ if (typeof obj === 'string') {
448
+ // Filter out numeric-only strings, single words that look like attribute values
449
+ const trimmed = obj.trim();
450
+ if (trimmed &&
451
+ !trimmed.match(/^[0-9\s\-\.]+$/) && // Skip pure numbers
452
+ !trimmed.match(/^[A-Z_]+$/) && // Skip constants like "BOTH", "LEFT_ONLY"
453
+ trimmed.length > 2 && // Skip very short strings
454
+ !trimmed.includes('pixel') && // Skip image metadata
455
+ !trimmed.startsWith('그림입니다') && // Skip image placeholders
456
+ !trimmed.includes('원본 그림')) { // Skip image descriptions
457
+ texts.push(trimmed);
395
458
  }
459
+ return;
396
460
  }
397
- catch (error) {
398
- console.warn('Error processing OWPML body:', error);
461
+ // If it's an array, process each item
462
+ if (Array.isArray(obj)) {
463
+ for (const item of obj) {
464
+ extractTextNodes(item, texts);
465
+ }
466
+ return;
399
467
  }
400
- return result;
401
- }
402
- /**
403
- * Process OWPML section
404
- */
405
- function processOwpmlSection(section) {
406
- let result = '';
407
- try {
408
- if (section.p || section.P || section.PARA) {
409
- const paragraphs = section.p || section.P || section.PARA;
410
- const paraArray = Array.isArray(paragraphs) ? paragraphs : [paragraphs];
411
- paraArray.forEach((para) => {
412
- result += processOwpmlParagraph(para);
413
- });
468
+ // If it's an object, look for text content
469
+ if (typeof obj === 'object' && obj !== null) {
470
+ // HWPX specific text node handling
471
+ // Look for hp:p (paragraphs) and hp:t (text) nodes
472
+ if (obj['hp:p']) {
473
+ const paragraphs = Array.isArray(obj['hp:p']) ? obj['hp:p'] : [obj['hp:p']];
474
+ for (const para of paragraphs) {
475
+ extractParagraphText(para, texts);
476
+ }
414
477
  }
415
- else {
416
- result = extractTextFromObject(section);
478
+ // Also check for plain p nodes
479
+ if (obj.p) {
480
+ const paragraphs = Array.isArray(obj.p) ? obj.p : [obj.p];
481
+ for (const para of paragraphs) {
482
+ extractParagraphText(para, texts);
483
+ }
417
484
  }
418
- }
419
- catch (error) {
420
- console.warn('Error processing OWPML section:', error);
421
- }
422
- return result;
423
- }
424
- /**
425
- * Process OWPML paragraph
426
- */
427
- function processOwpmlParagraph(para) {
428
- let result = '';
429
- try {
430
- // Handle text content
431
- if (para['#text']) {
432
- result = para['#text'].toString().trim() + '\n\n';
433
- }
434
- // Handle runs/text runs
435
- if (para.run || para.RUN || para.r || para.R) {
436
- const runs = para.run || para.RUN || para.r || para.R;
437
- const runArray = Array.isArray(runs) ? runs : [runs];
438
- let paraText = '';
439
- runArray.forEach((run) => {
440
- if (run['#text']) {
441
- paraText += run['#text'].toString();
442
- }
443
- else if (run.t || run.T) {
444
- const textElements = run.t || run.T;
445
- const textArray = Array.isArray(textElements) ? textElements : [textElements];
446
- textArray.forEach((textEl) => {
447
- if (textEl['#text']) {
448
- paraText += textEl['#text'].toString();
449
- }
450
- else if (typeof textEl === 'string') {
451
- paraText += textEl;
452
- }
453
- });
485
+ // Check for TEXT nodes
486
+ if (obj.TEXT) {
487
+ const textNodes = Array.isArray(obj.TEXT) ? obj.TEXT : [obj.TEXT];
488
+ for (const textNode of textNodes) {
489
+ if (textNode['#text']) {
490
+ const text = textNode['#text'].trim();
491
+ if (text && !isMetadata(text)) {
492
+ texts.push(text);
493
+ }
454
494
  }
455
- });
456
- if (paraText.trim()) {
457
- result = paraText.trim() + '\n\n';
458
495
  }
459
496
  }
460
- // Fallback: extract any text from the paragraph
461
- if (!result.trim()) {
462
- result = extractTextFromObject(para);
463
- if (result.trim()) {
464
- result += '\n\n';
497
+ // Recursively process all properties
498
+ for (const [key, value] of Object.entries(obj)) {
499
+ // Skip attribute keys and known metadata keys
500
+ if (!key.startsWith('@_') &&
501
+ !key.startsWith('_') &&
502
+ key !== 'SECDEF' &&
503
+ key !== 'DOCSUMMARY' &&
504
+ key !== 'MAPPINGTABLE' &&
505
+ key !== 'COMPATIBLE_DOCUMENT' &&
506
+ key !== 'LAYOUTCOMPATIBILITY') {
507
+ extractTextNodes(value, texts);
465
508
  }
466
509
  }
467
510
  }
468
- catch (error) {
469
- console.warn('Error processing OWPML paragraph:', error);
470
- }
471
- return result;
472
511
  }
473
512
  /**
474
- * Extract text from any object recursively
513
+ * Extract text from a paragraph node
475
514
  */
476
- function extractTextFromObject(obj) {
477
- if (typeof obj === 'string') {
478
- return obj;
479
- }
480
- if (typeof obj === 'number') {
481
- return obj.toString();
482
- }
483
- if (Array.isArray(obj)) {
484
- return obj.map(item => extractTextFromObject(item)).join(' ');
515
+ function extractParagraphText(para, texts) {
516
+ if (!para)
517
+ return;
518
+ // Look for hp:run or run nodes
519
+ const runs = para['hp:run'] || para.run || para.RUN;
520
+ if (runs) {
521
+ const runArray = Array.isArray(runs) ? runs : [runs];
522
+ for (const run of runArray) {
523
+ // Look for hp:t or t nodes (text content)
524
+ const textNode = run['hp:t'] || run.t || run.T || run['#text'];
525
+ if (textNode) {
526
+ if (typeof textNode === 'string') {
527
+ const text = textNode.trim();
528
+ if (text && !isMetadata(text)) {
529
+ texts.push(text);
530
+ }
531
+ }
532
+ else if (textNode['#text']) {
533
+ const text = textNode['#text'].trim();
534
+ if (text && !isMetadata(text)) {
535
+ texts.push(text);
536
+ }
537
+ }
538
+ }
539
+ }
485
540
  }
486
- if (typeof obj === 'object' && obj !== null) {
487
- let text = '';
488
- // Look for common text properties first
489
- if (obj['#text']) {
490
- text += obj['#text'].toString() + ' ';
541
+ // Also check for direct text content
542
+ if (para['#text']) {
543
+ const text = para['#text'].trim();
544
+ if (text && !isMetadata(text)) {
545
+ texts.push(text);
491
546
  }
492
- // Recursively extract text from all properties
493
- for (const [key, value] of Object.entries(obj)) {
494
- if (key !== '#text' && key !== '@_') { // Skip attributes
495
- text += extractTextFromObject(value) + ' ';
547
+ }
548
+ // Check for TEXT child nodes
549
+ if (para.TEXT) {
550
+ const textNodes = Array.isArray(para.TEXT) ? para.TEXT : [para.TEXT];
551
+ for (const textNode of textNodes) {
552
+ if (textNode['#text']) {
553
+ const text = textNode['#text'].trim();
554
+ if (text && !isMetadata(text)) {
555
+ texts.push(text);
556
+ }
557
+ }
558
+ else if (typeof textNode === 'string') {
559
+ const text = textNode.trim();
560
+ if (text && !isMetadata(text)) {
561
+ texts.push(text);
562
+ }
496
563
  }
497
564
  }
498
- return text.trim();
499
565
  }
500
- return '';
566
+ }
567
+ /**
568
+ * Check if a string looks like metadata rather than document content
569
+ */
570
+ function isMetadata(text) {
571
+ // Filter out common metadata patterns
572
+ return text.match(/^[A-Z_]+$/) !== null || // Constants
573
+ text.match(/^[0-9\s\-\.]+$/) !== null || // Pure numbers
574
+ text.includes('pixel') || // Image metadata
575
+ text.startsWith('그림입니다') || // Korean "This is an image"
576
+ text.includes('원본 그림') || // Korean "Original image"
577
+ text.includes('.jpg') || // File names
578
+ text.includes('.png') ||
579
+ text.includes('.bmp') ||
580
+ text.includes('http://') || // URLs in metadata
581
+ text.length < 3; // Very short strings
501
582
  }
502
583
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "file2md",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
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",