microsoft / microsoft/markitdown
Bug, Suggestion: Improve Markdown Conversion, Format Support, and Rich Content Extraction
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
-
Image:
✅ Working as expected. -
Word Documents (e.g.,
.docx):
✅ Working as expected. -
Excel Sheets (e.g.,
.xlsx):
✅ Working as expected. -
HTML:
✅ Working as expected. -
XML:
✅ Working as expected. -
ZIP Files:
✅ Working as expected.
Partially Supported Formats
-
PDF:
⚠️ Content is being extracted but not converted into proper Markdown format. -
PowerPoint Presentations (e.g.,
.pptx):
⚠️ Content is being extracted but not converted into proper Markdown format.
Unsupported Formats or Errors
-
Audio (e.g.,
.wav):
❌ Encountering an error when processing.wavfiles. NameError: name 'IS_AUDIO_TRANSCRIPTION_CAPABLE' is not defined -
JSON:
❌UnsupportedFormatException: Could not convert'data.json'to Markdown. The formats['.json', '.json']are not supported. -
CSV:
❌UnsupportedFormatException: Could not convert'data.csv'to Markdown. The formats['.csv']are not supported.
Suggestions for Improvement
-
Provide Metadata Information:
- Include additional metadata, such as page numbers, in the extracted Markdown content. This can be useful for tracking and reference purposes.
-
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.
-
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).
- Observed that the library uses
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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