Zum Inhalt springen →

Python-Tool zum Konvertieren von Dateien und Office-Dokumenten in Markdown

markitdown“ ist ein Microsoft Dienstprogramm zur Konvertierung verschiedener Dateien in das Markdown Format. Die aktuelle Version ist 0.0.1a2 (https://pypi.org/project/markitdown/). Diese Version unterstützt aktuell folgende Dateiformate:

  • PDF (.pdf)
  • PowerPoint (.pptx)
  • Word (.docx)
  • Excel (.xlsx)
  • Bilder (EXIF-Metadaten, und OCR)
  • Audio (EXIF-Metadaten und Sprachtranskription)
  • HTML (spezielle Behandlung von Wikipedia, etc.)
  • Verschiedene andere textbasierte Formate (csv, json, xml, usw.)
  • ZIP (Iteriert über den Inhalt und konvertiert jede Datei)

Damit ist markitdown ein praktischer Helfer zum Konvertieren von Texten in Markdown. Es unterstützt eine Vielzahl von Formatierungen wie Überschriften, Listen, Links und Bilder, die alle mit einer leicht verständlichen Syntax erstellt werden können.

Markdown ist besonders beliebt, weil es sowohl von Menschen als auch von Maschinen leicht lesbar ist. Dies macht es ideal für die Erstellung von Dokumentationen, Blogs und anderen Texten, die sowohl im Web als auch in anderen Formaten veröffentlicht werden sollen. Mit markitdown können Benutzer schnell und effizient ihre Texte in ein gut strukturiertes und ansprechendes Format bringen, ohne sich mit komplexen HTML-Tags auseinandersetzen zu müssen.

Installation

Stelle sicher, dass Python (Version 3.6 oder höher) auf deinem System installiert ist. Öffne dein Terminal oder deine Eingabeaufforderung und führe den folgenden Befehl aus:

pip install markitdown

Nach der Installation kann man markitdown in Python Programmen nutzen oder direkt von einer Eingabeaufforderung Dokumente in Markdown konvertieren.

markitdown.exe .\test.pdf > .\test.md

Für die Konvertierung verwendet Markitdown folgende Python Klassen, die sich um die spezifischen Konverter kümmern.

  • class PlainTextConverter(DocumentConverter):
  • class HtmlConverter(DocumentConverter):
  • class WikipediaConverter(DocumentConverter):
  • class YouTubeConverter(DocumentConverter):
  • class BingSerpConverter(DocumentConverter):
  • class PdfConverter(DocumentConverter):
  • class MediaConverter(DocumentConverter):
  • class ZipConverter(DocumentConverter):

Der PdfConverter extrahiert den Text des PDF Dokuments mit „text_content=pdfminer.high_level.extract_text(local_path)„. Das bedeutet aber leider, dass die Bilder nicht berücksichtigt werden – schade :-(.

Trotzdem ein schönes einfaches Tool um einfache Office Dokumente und Bilder in Markdown umzuwandeln.

UnicodeEncodeError: ‚charmap‘ codec can’t encode character ‚\u25a0‘ in position 198: character maps to <undefined>

Beim Test unter Windows bin ich auf folgenden Fehler gestoßen, der sich aber leicht behenen lässt, indem man PYTHONUTF8=1 setzt.

C:\Projekte\markdown-converter>markitdown.exe .\test.pdf > .\test.md
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\jentsch\AppData\Roaming\Python\Python312\Scripts\markitdown.exe\__main__.py", line 7, in <module>
File "C:\Users\jentsch\AppData\Roaming\Python\Python312\site-packages\markitdown\__main__.py", line 16, in main
print(result.text_content)
File "C:\Python312\Lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode character '\u25a0' in position 198: character maps to <undefined>

C:\Projekte\markdown-converter>set PYTHONUTF8=1

C:\Projekte\markdown-converter>markitdown.exe .\test.pdf > .\test.md

Quelle

https://github.com/microsoft/markitdown

Veröffentlicht in Allgemein