Hoe Word-documenten te exporteren en op te slaan in .NET
Deze gids laat zien hoe je een Word-document exporteert en opslaat met Aspose.Words FOSS voor .NET: opslaan met een afgeleide of expliciete indeling, configureren van OOXML-opslagopties, exporteren naar Markdown, exporteren naar platte tekst, en het detecteren van het bestandsformaat vóór conversie. Aspose.Words FOSS voor .NET is beschikbaar via NuGet of door het vanaf de bron te bouwen.
Stapsgewijze gids
Stap 1: Haal de bibliotheek op
Kloon de repository en bouw Aspose.Words.sln in Release-configuratie, voeg vervolgens een projectreferentie toe aan Aspose.Words.csproj vanuit je eigen .NET project, zoals beschreven in de Installatiehandleiding. Voeg using Aspose.Words; bovenaan elk bestand dat documenten opslaat.
Stap 2: Opslaan met een afgeleide of expliciete indeling
Document.Save(fileName) leidt het doelformaat af van de extensie van het bestand. Save(fileName, saveFormat) maakt het formaat expliciet, ongeacht de extensie, door een SaveFormat enumwaarde te nemen, en Save(fileName, saveOptions) (of de bijbehorende Stream overloads) neemt een SaveOptions subclass voor formaat-specifieke controle. SaveOptions.CreateSaveOptions(saveFormat) is een statische factory die de bijpassende optieksubklasse retourneert met zijn standaardwaarden al ingesteld voor een gegeven SaveFormat. Deze editie slaat volledig zowel naar als van DOCX, DOCM, DOTX, DOTM en Flat OPC (plus hun macro-ingeschakelde en sjabloonvarianten) op, evenals Markdown en platte tekst.
Stap 3: OOXML-exportopties configureren
OoxmlSaveOptions configureert het opslaan naar een van de Open XML varianten. De SaveFormat eigenschap selecteert specifiek DOCX, DOCM, DOTX, DOTM of Flat OPC; Password stelt een open wachtwoord in op het opgeslagen bestand, onafhankelijk van de bewerkingsrestrictie van Document.Protect; Compliance selecteert het OOXML-strictheidsniveau; en CompressionLevel / Zip64Mode regelen de onderliggende ZIP verpakking. Maak er een met new OoxmlSaveOptions(saveFormat) of via SaveOptions.CreateSaveOptions(saveFormat).
Stap 4: Exporteren naar Markdown
MarkdownSaveOptions regelt een Markdown-export: ListExportMode en LinkExportMode bepalen hoe lijsten en hyperlinks worden gerenderd, ImagesFolder / ImagesFolderAlias bepalen waar uitgepakte afbeeldingen worden geplaatst en hoe ze worden gerefereerd, ExportImagesAsBase64 voegt ze inline in plaats van aparte bestanden te schrijven, en TableContentAlignment beïnvloedt de gegenereerde tabelopmaak. Geef een MarkdownSaveOptions instantie door aan Document.Save(fileName, saveOptions) met een .md bestandsnaam, of stel zijn SaveFormat expliciet in.
Stap 5: Exporteren naar platte tekst
TxtSaveOptions (via zijn gedeelde basis TxtSaveOptionsBase, ook gebruikt door MarkdownSaveOptions) regelt de export naar platte tekst: Encoding stelt de tekenencoding in, ParagraphBreak stelt de regeleinde-string in, MaxCharactersPerLine breekt lange regels, SimplifyListLabels normaliseert lijst-kogelpunten en nummers naar platte tekens, en PreserveTableLayout houdt tabelkolommen uitgelijnd met spaties.
Stap 6: Detecteer een formaat vóór het converteren
Voordat een bestand met onbekend formaat wordt geconverteerd, geeft FileFormatUtil.DetectFileFormat(fileName) een FileFormatInfo terug met het gedetecteerde LoadFormat. Combineer dit met FileFormatUtil.LoadFormatToSaveFormat(loadFormat) om te controleren of dat formaat een round-trip kan maken via de door deze editie ondersteunde formaten voordat Document.Save wordt aangeroepen. Sommige SaveFormat enum-leden bestaan voor API volledigheid, maar de naamformaten worden in deze verkorte, open-source editie niet ondersteund met een werkende lezer of schrijver; houd je aan de DOCX/DOCM/DOTX/DOTM/Flat OPC-familie plus Markdown en platte tekst voor betrouwbare output.
Veelvoorkomende problemen en oplossingen
Save(fileName) schrijft het verkeerde formaat. De bestandsextensie komt niet overeen met het beoogde formaat. Gebruik Save(fileName, saveFormat) or Save(fileName, saveOptions) om het formaat expliciet te maken in plaats van te vertrouwen op de extensie.
Opgeslagen OOXML-bestand kan niet worden geopend met een wachtwoord. OoxmlSaveOptions.Password was niet ingesteld vóór het opslaan. Maak een OoxmlSaveOptions, stel Password, en geef het door aan Save.
Markdown-export verspreidt afbeeldingsbestanden onverwacht. Default MarkdownSaveOptions gedrag extraheert afbeeldingen naar afzonderlijke bestanden. Stel ExportImagesAsBase64 = true voor één zelfvoorzienend Markdown-bestand, of stel ImagesFolder om te bepalen waar afbeeldingen worden geplaatst.
Platte-tekstexport verliest de uitlijning van tabelkolommen. TxtSaveOptions.PreserveTableLayout blijft op de standaardwaarde. Stel PreserveTableLayout = true vóór het opslaan.
Veelgestelde vragen
Hoe sla ik op in een specifiek formaat, ongeacht de bestandsextensie?
Roep Save(fileName, saveFormat) aan met een expliciete SaveFormat waarde, of Save(fileName, saveOptions) met een bijpassende SaveOptions subklasse.
Welke formaten hebben een round-trip in beide richtingen in deze editie?
DOCX, DOCM, DOTX, DOTM, Flat OPC (plus hun macro-enabled en template-varianten), Markdown en plain text.
Hoe kan ik een opgeslagen bestand met een wachtwoord beveiligen zodat het niet eens geopend kan worden?
Stel Password in op een OoxmlSaveOptions instantie en geef deze door aan Document.Save(fileName, saveOptions).
Hoe kan ik regeleinden regelen in een geëxporteerd tekstbestand?
Stel ParagraphBreak in op een TxtSaveOptions instantie vóór het opslaan.
Hoe controleer ik het formaat van een bestand voordat ik het converteer?
Roep FileFormatUtil.DetectFileFormat(fileName) aan en lees de geretourneerde FileFormatInfo.LoadFormat.