Machen Sie Ihre Unternehmensdokumente KI‑bereit — zuverlässig, lokal und semantisch.
Es kommt häufig vor, dass Unternehmen ihre Dokumentation in PDF, DOCX, XLSX und ePub‑Formaten speichern. Während LLMs (Large Language Models) gut mit HTML oder Klartext arbeiten, müssen diese nativen Dokumentenformate vor ihrer Verwendung in LLM + RAG‑Pipelines (bei denen man mit einem Dokument oder einer Dokumentensammlung chatten möchte) konvertiert werden.
LLM (Large Language Model) — ein vortrainiertes KI‑Modell, das auf Basis großer Textkorpora Text generiert und Fragen beantwortet.
RAG (Retrieval‑Augmented Generation) — ein Ansatz, der ein LLM mit einer externen Wissensdatenbank (z. B. Unternehmensdokumente) koppelt, sodass das Modell Inhalte abrufen und darauf basierend reasoning durchführen kann.
Das folgende Sequenzdiagramm zeigt die typischen Schritte, die nötig sind, um eine Antwort auf eine Frage zu erzeugen:
Die Qualität der Antworten, die Sie von einem System (LLM + RAG) erhalten, hängt sowohl vom System selbst als auch davon ab, wie gut die Quelldokumente ihre Struktur und Bedeutung bewahren, wenn sie in die Retrieval‑Pipeline eingespeist werden.
Das Problem
Dokumenten‑Formatierung ist nicht nur visuell – sie trägt Semantik. Überschriften, Listen, Tabellen, fett/kursiv‑Betonungen, Bildunterschriften und Inline‑Bilder vermitteln Bedeutungen, die einem LLM helfen, den Kontext zu verstehen. Eine naive Konvertierung (z. B. per OCR, die jede Seite als flaches Bild behandelt) verliert diese Semantik häufig. Daraus resultieren ungenaue oder verrauschte RAG‑Ergebnisse und fehlerhafte LLM‑Antworten.
OCR kann bei gescannten Dokumenten helfen, entfernt aber oft die Struktur (z. B. Listen, die über Seiten hinweg gehen, Tabellenränder, Anmerkungen). Zudem verursacht sie Kosten und Infrastruktur‑Overhead, wenn große Archive verarbeitet werden.
Die Lösung
Ein alternativer Ansatz besteht darin, Dokumente mit strukturellem Bewusstsein zu parsen und diese Struktur in ein semantisches, LLM‑freundliches Format – Markdown – zu exportieren. Markdown ist leichtgewichtig, breit unterstützt und bewahrt Überschriften, Listen, Tabellen, Code‑Blöcke, Hervorhebungen, Bildunterschriften und Bildreferenzen – exakt die Features, die die Retrieval‑Qualität steigern.
GroupDocs.Markdown für .NET konvertiert gängige Dokumentformate (PDF, DOCX, XLSX, ePub und mehr) in sauberes, semantisches Markdown, das sich problemlos in RAG‑Systeme einspeisen lässt. Es ist eine On‑Premise‑.NET‑Bibliothek, d. h. die gesamte Verarbeitung läuft in Ihrer Umgebung – keine externen Dienste, kein Datenverlust und keine Abhängigkeit von Remote‑GPUs.
So starten Sie
GroupDocs.Markdown für .NET ist als NuGet‑Paket sowie als MSI‑ und ZIP‑Download verfügbar.
NuGet‑Pakete‑Installation über die .NET‑CLI
dotnet add package GroupDocs.Markdown
oder laden Sie Installer und Assemblies von der offiziellen Download‑Seite herunter: https://releases.groupdocs.com/markdown/net/
Beispielcode (einzufügen in Program.cs)
// Namensraum importieren
using GroupDocs.Markdown;
// Lizenz setzen (optional für Evaluation)
License.Set("GroupDocs.Markdown.lic");
// Konverter für ein Quell‑Dokument instanziieren
var converter = new MarkdownConverter("rich-text-formatting.docx");
// Konvertieren und Ausgabe in Datei speichern
converter.Convert("rich-text-formatting.md");
Die konvertierte Datei rich-text-formatting.md wird im selben Ordner wie Ihre Anwendung abgelegt.
Der folgende Screenshot zeigt die Eingabe‑DOCX‑Datei und das resultierende Markdown.
Ohne Lizenz läuft der Evaluationsmodus nur mit einer begrenzten Seitenzahl (z. B. die ersten drei Seiten). Für die Vollversion fordern Sie eine temporäre Lizenz an.
Um eine temporäre Lizenz zu erhalten, öffnen Sie den Purchase Wizard (https://purchase.groupdocs.com/buy/cart?ppId=115659&utm_source=blog), geben Sie Ihre Kontaktdaten an und klicken Sie im Schritt Contact Details auf Get a temporary license. Die temporäre Lizenz wird Ihnen per E‑Mail zugesandt.
Weitere Infos zu temporären Lizenzen finden Sie hier: https://purchase.groupdocs.com/temporary-license/
Unterstützte Dateiformate
GroupDocs.Markdown für .NET unterstützt ein breites Spektrum gängiger Enterprise‑ und E‑Book‑Formate. Die vollständige Liste der unterstützten Endungen:
-
PDF
pdf
-
Tabellen
.xls,.xlsx,.xlsb,.xlsm,.xlt,.xltx,.xltm,.xlam,.csv,.tsv,.ods,.ots,.fods,.numbers,.sxc
-
Word / Rich Text
.doc,.docx,.dot,.dotm,.dotx,.docm,.rtf,.odt,.ott
-
E‑Books
.azw3,.mobi,.epub
-
Text / Markup / Help
.chm,.xml,.txt
Funktionsweise (Interna – Übersicht)
Bei der Verarbeitung eines Dokuments laufen zwei Hauptphasen ab:
-
Extraktion des Dokumentmodells
Das Dokument wird in ein In‑Memory‑Objektmodell zerlegt, das strukturelle Elemente (Absätze, Überschriften, Listen, Tabellen, Bilder, Fußnoten, Anmerkungen usw.) repräsentiert. Der Parser versucht, die Semantik zu erhalten (z. B. Listen‑Verschachtelungen, Tabellen‑Zellen, Bildunterschriften). -
Markdown‑Generierung
Das Objektmodell wird durchlaufen und gemäß konfigurierbarer Konvertierungsoptionen (z. B. Bild‑Handling, Tabellen‑Formatierung, Überschriften‑Ebene, Spezial‑Annotationen) in Markdown umgewandelt. Das Ergebnis ist eine lesbare, semantisch bedeutungsvolle Markdown‑Datei, die sich sofort von Ihrem RAG‑Pipeline indexieren lässt.
Export‑Beispiel
Der Code‑Abschnitt oben zeigt, wie man DOCX nach Markdown exportiert. Im Folgenden betrachten wir die Quell‑ und Ausgabedateien als Demonstration.
Quell‑DOCX
Die Quelldatei rich-text-formatting.docx enthält verschiedene Inhaltsblöcke und ist stark formatiert, um die wichtigsten semantischen Elemente zu betonen.
Ausgabe‑Markdown
Der generierte Inhalt von rich-text-formatting.md wird unten dargestellt, damit Sie sehen, wie die unterschiedlichen Formatierungselemente im Markdown wiedergegeben werden.
This document contains a variety of formatted elements that are used to test document rendering quality during file conversion
# <a name="_toc76372684"></a>**Font Formatting**
Source Sans Pro Light, 14 pt.
Simple text in Times New Roman 12 followed by an empty paragraph<sub>subscript</sub> and<sup>superscript</sup>.
Various characters: ‘ “ & < > £ ¥ § ¨ © ª « ® » ¼
Paragraph with multiple segments of text formatted in different fonts, sizes and colors. Very different sizes and colors including **bold**, *italic*, underline and 1 2 3 4 5 ~~strikethrough~~. Make sure that the lines wrapped in the same way in Word and in Pdf.
This text has shading and highlighting and borders, and it is supported.
# <a name="_toc76372685"></a>**Paragraph Formatting**
Paragraph shading should not form empty gaps even with spacing 12 after.
Centered paragraph with a line break had a problem.\
Centered paragraph with a line break had a problem.
Right aligned paragraphs must be right aligned properly.
Right aligned paragraph with line break works well.\
Right aligned paragraph with line break works well.
This paragraph has a border.
Right aligned condensed text had a problem.
Right aligned expanded text had a problem.
Spacing after and before do not add up, just the greater is used. This paragraph has 12 after. Also, when indents are different, the shading does not join.
This paragraph has 12 before, but in total there is only 12 above. Also note that shading belongs to the paragraph at the top and shading of this paragraph does not go down unless next paragraph has shading too. There are 24 points below.
There are 24 points above, but the gap between this and previous paragraph is only 24.
This paragraph is a test for double line spacing. This paragraph is a test for double line spacing. It also have 0.5” for the first line.
This is a test for 1.5 line spacing. This is a test for 1.5 line spacing. Also has -0.5” indent for the first line.
This paragraph has a page break
and centered. It actually creates two paragraphs.
This is a test for Exactly 20 points of spacing. This is a test for Exactly 20 points of spacing. TTTTTT (20, 22, 24, 26, 28, 30).
There is a continuous section break after this line.
This line is in the new section. Next here is an empty section.
This line is in the fourth section.
# <a name="_toc76372686"></a>**Paragraph Justify**
This is a justified paragraph with a single segment. 111111111111111111111111111111111111111111.
Also a justified **paragraph** reset to left because of multiple segments. 111111111111111111111111111111111111111111.
# **Non‑English Characters**
Wingdings: (x, Symbol: WÄ
Russian: Теперь немного по русски.
# <a name="_toc76372687"></a>**Tables**
|Cell 1.1 Left|Cell 1.2 Right|||
| :- | -: | :- | :- |
|Cell 2.1 Centered vertically|Cell 2.2 with background|Cell 2.3 with line break<br>and coloured border.||
|Cell 3.1 Bottom vertically|<p>Cell 3.2</p><p>Centered</p><p>Horizontally</p>|Cell 3.3 No border||
|Left red, blue top, green right and yellow bottom.|
| :- |
|Table with left indent and merged cells.||||
| :- | :- | :- | :- |
|||||
|||||
**Cell padding etc.**
|<p>Cell padding.</p><p>Top: 0.1, bottom 0.2</p><p>Left: 0.5, Right 0.4</p>|Zero padding on all sides, right aligned.|
| :- | -: |
|Outer 1.1|Outer 1.2. There is a nested table here||
| :- | :-: | -: |
|**Nested 1.1**|**Nested 1.2**|
| :- | :- |
|||Outer 1.3|
| :- | :-: | -: |
#
# <a name="_toc76372688"></a>**Lists**
**Numbered list:**
1. Item 1
1. Item 2
1. Item 2.1
1. Item 2.2
1. Item 3
**Bulleted list:**
- Item 1
- Item 2
- Item 2.1
- Item 2.2
- Item 3
#
# <a name="_toc76372689"></a>**Images**
This section starts from a new page.
**Ellipse text**
There is an image in a black border in the top right corner, but it will drop down into the text. There is also a transparent ellipse with text that overlaps the picture.
Inline JPEG in a separate paragraph.
