Rendi i tuoi documenti aziendali pronti per l’AI — in modo affidabile, on‑premise e semantico.
È abbastanza comune che le organizzazioni mantengano la loro documentazione in formati PDF, DOCX, XLSX ed ePub. Mentre i LLM (large language models) funzionano bene con HTML o testo semplice, questi formati di documento nativi necessitano di conversione prima di poter essere usati efficacemente in pipeline LLM + RAG in cui vogliamo conversare con un documento o un insieme di documenti.
LLM (Large Language Model) — un modello AI pre‑addestrato che genera testo e risposte basandosi su grandi corpora testuali.
RAG (Retrieval‑Augmented Generation) — un approccio che combina un LLM con una base di conoscenza esterna (ad esempio documenti aziendali) così il modello può recuperare e ragionare sul contenuto di dominio.
La qualità delle risposte che ottieni da un Sistema (LLM + RAG) dipende sia dal Sistema stesso sia da quanto bene i documenti sorgente preservano la loro struttura e significato quando vengono inseriti nella pipeline di recupero.
Il problema
La formattazione dei documenti non è solo visiva — trasmette semantica. Titoli, elenchi, tabelle, enfasi in grassetto/corsivo, didascalie e immagini in linea trasmettono tutti significati che aiutano un LLM a comprendere il contesto. Convertire i documenti in modo ingenuo (ad esempio usando OCR che tratta ogni pagina come un’immagine piatta) spesso perde queste semantiche. Di conseguenza, il recupero RAG e le risposte LLM successive possono diventare imprecisi o rumorosi.
L’OCR può aiutare per i documenti scansionati ma frequentemente rimuove la struttura (elenchi divisi tra pagine, bordi di tabella fraintesi, annotazioni perse). Inoltre aggiunge costi e overhead infrastrutturale quando si elaborano grandi archivi.
La soluzione
Un approccio alternativo è analizzare i documenti con consapevolezza strutturale ed esportare tale struttura in un formato semantico, amichevole per LLM — Markdown. Markdown è leggero, ampiamente supportato e preserva titoli, elenchi, tabelle, blocchi di codice, enfasi, didascalie e riferimenti alle immagini — esattamente le caratteristiche che migliorano la qualità del recupero.
GroupDocs.Markdown for .NET converte i formati di documento più diffusi (PDF, DOCX, XLSX, ePub e altri) in Markdown pulito e semantico, adatto all’ingestione nei sistemi RAG. È una libreria .NET on‑premise, quindi tutta l’elaborazione avviene all’interno del tuo ambiente — nessun servizio esterno, nessuna perdita di dati e nessuna dipendenza da GPU remote.
Come iniziare
GroupDocs.Markdown for .NET è disponibile come pacchetto NuGet, oltre che come download MSI e ZIP.
Installa il pacchetto NuGet con la .NET CLI:
dotnet add package GroupDocs.Markdown
Oppure scarica installatori e assembly dalla pagina ufficiale dei download: https://releases.groupdocs.com/markdown/net/
Esempio di utilizzo (aggiungi a Program.cs):
// Import the namespace
using GroupDocs.Markdown;
// Set the license (optional for evaluation)
License.Set("GroupDocs.Markdown.lic");
// Instantiate the converter for a source document
var converter = new MarkdownConverter("rich-text-formatting.docx");
// Convert and save output to file
converter.Convert("rich-text-formatting.md");
Il file rich-text-formatting.md convertito verrà salvato nella stessa cartella dell’applicazione.
Lo screenshot seguente mostra il file DOCX di input e il Markdown di output.
Se esegui senza licenza, la modalità di valutazione elaborerà un numero limitato di pagine (ad esempio le prime tre). Per provare il prodotto completo, richiedi una licenza temporanea.
Per richiedere una licenza temporanea, apri il Purchase Wizard, fornisci i dati di contatto e clicca Get a temporary license nella fase Contact Details. La licenza temporanea ti sarà inviata via email.
Scopri di più sulle licenze temporanee: https://purchase.groupdocs.com/temporary-license/.
Formati di file supportati
GroupDocs.Markdown for .NET supporta un ampio set di formati aziendali e ebook comuni. L’elenco completo delle estensioni supportate:
- PDF
pdf
- Fogli di calcolo
.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
- Ebook
.azw3,.mobi,.epub
- Testo / Markup / Guida
.chm,.xml,.txt
Come funziona (interni — alto livello)
Quando un documento viene elaborato, avvengono due fasi principali:
-
Estrazione del modello del documento
Il documento viene analizzato in un modello di oggetti in‑memoria che rappresenta gli elementi strutturali (paragrafi, titoli, elenchi, tabelle, immagini, note a piè di pagina, annotazioni, ecc.). Il parser si sforza di preservare la semantica (ad esempio nidificazione degli elenchi, celle di tabella e didascalie delle immagini). -
Generazione di Markdown
Il modello di oggetti viene attraversato e convertito in Markdown secondo le opzioni di conversione configurabili (come gestire le immagini, la formattazione delle tabelle, i livelli dei titoli, le annotazioni speciali, ecc.). Il risultato è un file Markdown leggibile e semanticamente significativo, pronto per l’indicizzazione da parte della tua pipeline RAG.
Esempio di esportazione
Il codice di esempio sopra mostra come esportare DOCX in Markdown. Prendiamo questo esempio e diamo un’occhiata ai file di origine e di output come dimostrazione.
DOCX di origine
Il file di origine rich-text-formatting.docx contiene vari blocchi di contenuto ed è fortemente formattato per evidenziare gli elementi semantici principali.
Markdown di output
Il contenuto di output di rich-text-formatting.md è fornito di seguito, mostrando come i diversi elementi di formattazione sono rappresentati nel file Markdown generato.
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**
 this text is after the image.
Immagini in una tabella. Allineate a sinistra e a destra.
|||
| :- | -: |
Testo nella casella di testo inline  è qui e ellisse inline  è qui.
Nuova sezione che inizia da una nuova pagina è qui.
Ha orientamento verticale e margini.
# <a name="_toc76372690"></a>**Campi**
Campo di unione «FirstName»
Numero di pagina 5
Collegamento ipertestuale [Aspose.com](http://www.aspose.com)
Indice
[Formattazione del carattere 1](#_toc76372684)
[Formattazione del paragrafo 1](#_toc76372685)
[Caratteri non inglesi 2](#_toc76372686)
[Tabelle 2](#_toc76372687)
[Elenchi 2](#_toc76372688)
[Immagini 4](#_toc76372689)
[Campi 5](#_toc76372690)
# **Campi modulo**
Modifica <a name="text1"></a>testo di prova
Casella di controllo <a name="check1"></a>
Casella combinata <a name="dropdown1"></a>
# **Note a piè di pagina e note finali**
Questa riga ha una nota a piè di pagina alla fine.[^1]
Questa riga ha una nota finale alla fine.[^2]
[^1]: Nota a piè di pagina 1.
[^2]: Nota finale 1.
---
## Riepilogo
GroupDocs.Markdown for .NET ti aiuta a convertire un'ampia gamma di formati di documento in Markdown semantico pronto per i sistemi LLM + RAG. Preserva la struttura e il significato del documento, funziona on‑premise e supporta i formati aziendali più comuni — rendendolo una scelta pratica per le organizzazioni che devono preparare grandi collezioni di documenti per il consumo da parte dell'AI.
---
## Scopri di più
- Product home: https://products.groupdocs.com/markdown/net/
- Documentation: https://docs.groupdocs.com/markdown/net/
- License information: https://about.groupdocs.com/legal/
- Downloads: https://releases.groupdocs.com/markdown/net/
---
## Supporto e feedback
Per domande o assistenza tecnica, per favore utilizza il nostro [Free Support Forum](https://forum.groupdocs.com/) — saremo felici di aiutarti.