microsoft / microsoft/markitdown

Bug, Suggestion: Improve Markdown Conversion, Format Support, and Rich Content Extraction

Open
#216 1 comment 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
186k
Forks
13.7k
Avg merge
1d 4h
Merged PRs (30d)
49

Description

Library version:

  • markitdown==0.0.1a3

python version 3.11.9

Summary of Observations

Below are the findings from testing various formats with the library:

Supported Formats
  1. Image:
    ✅ Working as expected.

  2. Word Documents (e.g., .docx):
    ✅ Working as expected.

  3. Excel Sheets (e.g., .xlsx):
    ✅ Working as expected.

  4. HTML:
    ✅ Working as expected.

  5. XML:
    ✅ Working as expected.

  6. ZIP Files:
    ✅ Working as expected.


Partially Supported Formats
  1. PDF:
    ⚠️ Content is being extracted but not converted into proper Markdown format.

  2. PowerPoint Presentations (e.g., .pptx):
    ⚠️ Content is being extracted but not converted into proper Markdown format.


Unsupported Formats or Errors
  1. Audio (e.g., .wav):
    ❌ Encountering an error when processing .wav files. NameError: name 'IS_AUDIO_TRANSCRIPTION_CAPABLE' is not defined

  2. JSON:
    UnsupportedFormatException: Could not convert 'data.json' to Markdown. The formats ['.json', '.json'] are not supported.

  3. CSV:
    UnsupportedFormatException: Could not convert 'data.csv' to Markdown. The formats ['.csv'] are not supported.


Suggestions for Improvement
  1. Provide Metadata Information:

    • Include additional metadata, such as page numbers, in the extracted Markdown content. This can be useful for tracking and reference purposes.
  2. Handle Embedded Images in PDFs and Documents:

    • Utilize LLM models, such as GPT-4 or similar, to extract and describe images embedded in PDFs and other documents. Many real-world documents include critical visual information interspersed with text.
  3. Improve PDF Text Extraction:

    • Observed that the library uses pdfminer.high_level.extract_text, which extracts only the text. Consider integrating an enhanced approach to extract richer data, such as layout-aware text and embedded elements (e.g., tables, images).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported PDF, PowerPoint, WAV, JSON, and CSV cases with markitdown==0.0.1a3 on Python 3.11.9. Inspect the conversion paths around pdfminer.high_level.extract_text and the format-support logic, then verify that the reported errors and Markdown-formatting gaps are addressed across the listed formats.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown, python
Domain
tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.