Wie man Word-Dokumente in .NET exportiert und speichert

Wie man Word-Dokumente in .NET exportiert und speichert

Dieser Leitfaden zeigt, wie man ein Word-Dokument mit Aspose.Words FOSS für .NET exportiert und speichert: Speichern mit einem ermittelten oder expliziten Format, Konfigurieren von OOXML-Speicheroptionen, Export nach Markdown, Export nach Klartext und Erkennen des Dateiformats, bevor es konvertiert wird. Aspose.Words FOSS für .NET ist über NuGet oder durch Kompilieren aus dem Quellcode verfügbar.

Schritt-für-Schritt-Anleitung

Schritt 1: Bibliothek holen

Klone das Repository und baue es Aspose.Words.sln in Release-Konfiguration, dann füge einen Projektverweis zu Aspose.Words.csproj aus deinem eigenen .NET-Projekt, wie im Installationshandbuch. Füge using Aspose.Words; am Anfang jeder Datei, die Dokumente speichert.


Schritt 2: Speichern mit einem ermittelten oder expliziten Format

Document.Save(fileName) ermittelt das Zielformat anhand der Dateierweiterung. Save(fileName, saveFormat) macht das Format unabhängig von der Erweiterung explizit, indem es einen SaveFormat-Enum-Wert entgegennimmt, und Save(fileName, saveOptions) (oder die passenden Stream-Überladungen) nimmt eine SaveOptions-Unterklasse für format-spezifische Steuerung entgegen. SaveOptions.CreateSaveOptions(saveFormat) ist eine statische Fabrik, die die passende Options-Unterklasse mit bereits gesetzten Default-Werten für ein gegebenes SaveFormat zurückgibt. Diese Ausgabe speichert vollständig sowohl nach als auch von DOCX, DOCM, DOTX, DOTM und Flat OPC (plus deren makro-aktivierten und Vorlagen-Varianten) sowie Markdown und Klartext.


Schritt 3: OOXML-Exportoptionen konfigurieren

OoxmlSaveOptions konfiguriert das Speichern in eine beliebige der Open XML-Varianten. Seine SaveFormat-Eigenschaft wählt speziell DOCX, DOCM, DOTX, DOTM oder Flat OPC aus; Password setzt ein offenes Passwort für die gespeicherte Datei, unabhängig von der Bearbeitungseinschränkung von Document.Protect; Compliance wählt das OOXML-Striktheitsniveau; und CompressionLevel / Zip64Mode steuern das zugrunde liegende ZIP-Packaging. Erstellen Sie eines mit new OoxmlSaveOptions(saveFormat) oder über SaveOptions.CreateSaveOptions(saveFormat).


Schritt 4: Export nach Markdown

MarkdownSaveOptions steuert einen Markdown-Export: ListExportMode und LinkExportMode bestimmen, wie Listen und Hyperlinks gerendert werden, ImagesFolder / ImagesFolderAlias legen fest, wohin extrahierte Bilder gehen und wie sie referenziert werden, ExportImagesAsBase64 bettet sie inline ein, anstatt separate Dateien zu schreiben, und TableContentAlignment beeinflusst das erzeugte Tabellen-Markup. Übergeben Sie eine MarkdownSaveOptions-Instanz an Document.Save(fileName, saveOptions) mit einem .md-Dateinamen oder setzen Sie ihr SaveFormat explizit.


Schritt 5: Export nach Klartext

TxtSaveOptions (über seine gemeinsame Basis TxtSaveOptionsBase, ebenfalls verwendet von MarkdownSaveOptions) steuert den Klartext-Export: Encoding legt die Zeichenkodierung fest, ParagraphBreak legt die Zeilenende-Zeichenkette fest, MaxCharactersPerLine bricht lange Zeilen um, SimplifyListLabels normalisiert Aufzählungszeichen und Nummern zu einfachen Zeichen, und PreserveTableLayout hält Tabellenspalten mittels Leerzeichen ausgerichtet.


Schritt 6: Format vor der Konvertierung erkennen

Bevor eine Datei unbekannten Formats konvertiert wird, liefert FileFormatUtil.DetectFileFormat(fileName) ein FileFormatInfo mit dem erkannten LoadFormat. Kombinieren Sie es mit FileFormatUtil.LoadFormatToSaveFormat(loadFormat), um zu prüfen, ob dieses Format durch die von dieser Edition unterstützten Formate round-trip-fähig ist, bevor Sie Document.Save aufrufen. Einige SaveFormat-Enum-Mitglieder existieren aus Gründen der API-Vollständigkeit, aber die Namen dieser Formate werden in dieser reduzierten Open-Source-Edition nicht mit einem funktionierenden Leser oder Schreiber implementiert; bleiben Sie bei der DOCX/DOCM/DOTX/DOTM/Flat-OPC-Familie sowie Markdown und Klartext für eine zuverlässige Ausgabe.

Häufige Probleme und Lösungen

Save(fileName) schreibt das falsche Format. Die Dateierweiterung stimmt nicht mit dem beabsichtigten Format überein. Verwende Save(fileName, saveFormat) or Save(fileName, saveOptions) um das Format explizit anzugeben, anstatt sich auf die Erweiterung zu verlassen.

Gespeicherte OOXML-Datei lässt sich nicht mit einem Passwort öffnen. OoxmlSaveOptions.Password wurde vor dem Speichern nicht gesetzt. Erstelle ein OoxmlSaveOptions, setze Password, und übergebe es an Save.

Der Markdown-Export verteilt Bilddateien unerwartet. Default MarkdownSaveOptions Das Verhalten extrahiert Bilder in separate Dateien. Setze ExportImagesAsBase64 = true für eine einzige eigenständige Markdown-Datei, oder setze ImagesFolder um zu steuern, wo Bilder platziert werden.

Der Export als Nur-Text verliert die Spaltenausrichtung von Tabellen. TxtSaveOptions.PreserveTableLayout bleibt auf dem Standardwert. Setze PreserveTableLayout = true vor dem Speichern.

Häufig gestellte Fragen

Wie speichere ich in ein bestimmtes Format, unabhängig von der Dateierweiterung?

Rufen Sie Save(fileName, saveFormat) mit einem expliziten SaveFormat-Wert auf, oder Save(fileName, saveOptions) mit einer passenden SaveOptions-Unterklasse.

Welche Formate unterstützen in dieser Ausgabe das round-trip in beide Richtungen?

DOCX, DOCM, DOTX, DOTM, Flat OPC (plus ihre macro-enabled und template Varianten), Markdown und Klartext.

Wie kann ich eine gespeicherte Datei mit einem Passwort schützen, sodass sie nicht einmal geöffnet werden kann?

Setzen Sie Password bei einer OoxmlSaveOptions-Instanz und übergeben Sie sie an Document.Save(fileName, saveOptions).

Wie kann ich Zeilenenden in einer exportierten Textdatei steuern?

Setzen Sie ParagraphBreak bei einer TxtSaveOptions-Instanz, bevor Sie speichern.

Wie prüfe ich das Format einer Datei, bevor ich sie konvertiere?

Rufen Sie FileFormatUtil.DetectFileFormat(fileName) auf und lesen Sie das zurückgegebene FileFormatInfo.LoadFormat.

Siehe auch

 Deutsch