Come esportare e salvare documenti Word in .NET

Come esportare e salvare documenti Word in .NET

Questa guida mostra come esportare e salvare un documento Word con Aspose.Words FOSS per .NET: salvataggio con un formato inferito o esplicito, configurazione delle opzioni di salvataggio OOXML, esportazione in Markdown, esportazione in testo semplice e rilevamento del formato di un file prima della conversione. Aspose.Words FOSS per .NET è disponibile tramite NuGet o compilando dal sorgente.

Guida passo-passo

Passo 1: Ottieni la libreria

Clona il repository e compila Aspose.Words.sln in configurazione Release, quindi aggiungi un riferimento al progetto Aspose.Words.csproj dal tuo progetto .NET, come descritto nella Guida all’installazione. Aggiungi using Aspose.Words; all’inizio di qualsiasi file che salva documenti.


Passo 2: Salva con un formato inferito o esplicito

Document.Save(fileName) inferisce il formato di destinazione dall’estensione del file. Save(fileName, saveFormat) rende il formato esplicito indipendentemente dall’estensione accettando un valore enum SaveFormat, e Save(fileName, saveOptions) (o le corrispondenti overload Stream) accetta una sottoclasse SaveOptions per un controllo specifico del formato. SaveOptions.CreateSaveOptions(saveFormat) è una factory statica che restituisce la sottoclasse di opzioni corrispondente con i suoi valori predefiniti già impostati per un dato SaveFormat. Questa edizione salva completamente sia verso che da DOCX, DOCM, DOTX, DOTM e Flat OPC (oltre alle loro varianti con macro e template), così come Markdown e testo semplice.


Passo 3: Configura le opzioni di esportazione OOXML

OoxmlSaveOptions configura il salvataggio in una qualsiasi delle varianti Open XML. La sua proprietà SaveFormat seleziona specificamente DOCX, DOCM, DOTX, DOTM o Flat OPC; Password imposta una password di apertura sul file salvato, indipendente dalla restrizione di modifica di Document.Protect; Compliance seleziona il livello di rigore OOXML; e CompressionLevel / Zip64Mode controllano il packaging ZIP sottostante. Costruiscine uno con new OoxmlSaveOptions(saveFormat) o tramite SaveOptions.CreateSaveOptions(saveFormat).


Passo 4: Esporta in Markdown

MarkdownSaveOptions controlla un’esportazione Markdown: ListExportMode e LinkExportMode governano come vengono renderizzate le liste e i collegamenti ipertestuali, ImagesFolder / ImagesFolderAlias controllano dove vanno le immagini estratte e come vengono referenziate, ExportImagesAsBase64 le incorpora in linea invece di scrivere file separati, e TableContentAlignment influisce sul markup delle tabelle generate. Passa un’istanza MarkdownSaveOptions a Document.Save(fileName, saveOptions) con un nome file .md, o imposta esplicitamente il suo SaveFormat.


Passo 5: Esporta in testo semplice

TxtSaveOptions (tramite la sua base condivisa TxtSaveOptionsBase, usata anche da MarkdownSaveOptions) controlla l’esportazione in testo semplice: Encoding imposta la codifica dei caratteri, ParagraphBreak imposta la stringa di terminazione di riga, MaxCharactersPerLine avvolge le linee lunghe, SimplifyListLabels normalizza i punti elenco e i numeri delle liste in caratteri semplici, e PreserveTableLayout mantiene le colonne delle tabelle allineate usando spazi.


Passo 6: Rileva un formato prima di convertire

Prima di convertire un file di formato sconosciuto, FileFormatUtil.DetectFileFormat(fileName) restituisce un FileFormatInfo con il LoadFormat rilevato. Abbinalo a FileFormatUtil.LoadFormatToSaveFormat(loadFormat) per verificare se quel formato può fare round-trip attraverso i formati supportati da questa edizione prima di chiamare Document.Save. Alcuni membri enum SaveFormat esistono per la completezza di API, ma la versione ridotta, open-source di questa edizione non implementa un lettore o scrittore funzionante per essi; attenersi alla famiglia DOCX/DOCM/DOTX/DOTM/Flat OPC più Markdown e testo semplice per un output affidabile.

Problemi comuni e soluzioni

Save(fileName) scrive il formato sbagliato. L’estensione del file non corrisponde al formato previsto. Usa Save(fileName, saveFormat) or Save(fileName, saveOptions) per rendere esplicito il formato invece di fare affidamento sull’estensione.

Il file OOXML salvato non si apre con una password. OoxmlSaveOptions.Password non era impostato prima del salvataggio. Costruisci un OoxmlSaveOptions, imposta Password, e passalo a Save.

L’esportazione Markdown disperde i file immagine in modo inatteso. Default MarkdownSaveOptions Il comportamento estrae le immagini in file separati. Imposta ExportImagesAsBase64 = true per un unico file Markdown autonomo, o imposta ImagesFolder per controllare dove vanno le immagini.

L’esportazione in testo semplice perde l’allineamento delle colonne della tabella. TxtSaveOptions.PreserveTableLayout rimane al valore predefinito. Imposta PreserveTableLayout = true prima di salvare.

Domande frequenti

Come salvo in un formato specifico indipendentemente dall’estensione del file?

Chiama Save(fileName, saveFormat) con un valore SaveFormat esplicito, oppure Save(fileName, saveOptions) con una sottoclasse SaveOptions corrispondente.

Quali formati consentono il round-trip in entrambe le direzioni in questa edizione?

DOCX, DOCM, DOTX, DOTM, Flat OPC (oltre alle loro varianti con macro e template), Markdown e testo semplice.

Come posso proteggere con password un file salvato in modo che non possa nemmeno essere aperto?

Imposta Password su un’istanza OoxmlSaveOptions e passala a Document.Save(fileName, saveOptions).

Come posso controllare le terminazioni di riga in un file di testo esportato?

Imposta ParagraphBreak su un’istanza TxtSaveOptions prima di salvare.

Come posso verificare il formato di un file prima di convertirlo?

Chiama FileFormatUtil.DetectFileFormat(fileName) e leggi il FileFormatInfo.LoadFormat restituito.

Vedi anche

 Italiano