Documenten opslaan en exporteren

Documenten opslaan en exporteren

Documenten opslaan en exporteren

Document.Save schrijft een document naar een bestand of stream in een doelformaat. Het formaat wordt ofwel afgeleid van een bestandsextensie, expliciet opgegeven als een SaveFormat waarde, of aangestuurd door een SaveOptions subklasse — OoxmlSaveOptions, MarkdownSaveOptions of TxtSaveOptions — voor formaat-specifieke controle. Deze gids behandelt de Save overloads, de SaveFormat enum, OOXML-opslaanopties, Markdown- en platte-tekst-export, en het detecteren van een formaat vóór conversie.


Opslaan met Document.Save

De eenvoudigste aanroep, Document.Save(fileName), leidt het doelformaat af van de extensie van het bestand. Save(fileName, saveFormat) maakt het formaat expliciet, ongeacht de extensie, en Save(fileName, saveOptions) (of de bijbehorende Stream overloads) accepteert een SaveOptions subklasse voor formaat-specifieke instellingen. SaveOptions.CreateSaveOptions(saveFormat) is een statische fabriek die de juiste opties-subklasse teruggeeft voor een gegeven SaveFormat met reeds ingestelde standaardwaarden.


Een formaat kiezen met SaveFormat

De SaveFormat enum bevat elke opslaan-formaat-identificatie die de bibliotheek herkent. Document.Save schrijft volledig zowel naar als van de kern-documentformaten van deze editie — DOCX, DOCM, DOTX, DOTM en Flat OPC (plus de macro-ingeschakelde en sjabloonvarianten) — evenals Markdown en platte tekst. FileFormatUtil.SaveFormatToExtension(saveFormat) en ExtensionToSaveFormat(extension) converteren tussen de enum en een bestandsextensie-string.

Sommige SaveFormat-waarden staan in de enum voor API-volledigheid, maar komen overeen met formaten waarvoor deze verkorte, open-source-editie geen werkende lezer of schrijver implementeert — proberen op te slaan naar een van die formaten levert output op die niet gelijk is aan het brondocument. Houd je aan de hierboven genoemde formaten voor betrouwbare round-tripping.


OOXML-opties: DOCX, DOCM, DOTX, DOTM en Flat OPC

OoxmlSaveOptions configureert het opslaan in een van de Open XML-formaten. De eigenschap SaveFormat selecteert welke specifieke variant moet worden weggeschreven; Password stelt een open wachtwoord in voor het opgeslagen bestand (onafhankelijk van de bewerkingsbeperkingen van Document.Protect); Compliance selecteert het OOXML-striktheidsniveau; en CompressionLevel / Zip64Mode regelen de onderliggende ZIP-verpakking. Maak er één met new OoxmlSaveOptions(saveFormat) of via SaveOptions.CreateSaveOptions(saveFormat).


Exporteren naar Markdown

MarkdownSaveOptions regelt een Markdown-export: ListExportMode en LinkExportMode bepalen hoe lijsten en hyperlinks worden weergegeven, ImagesFolder / ImagesFolderAlias regelen waar uitgepakte afbeeldingen worden weggeschreven en hoe ze worden gerefereerd, ExportImagesAsBase64 integreert ze inline in plaats daarvan, 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.


Exporteren naar platte tekst

TxtSaveOptions (via zijn basis-TxtSaveOptionsBase, gedeeld met MarkdownSaveOptions) regelt de export van platte tekst: Encoding stelt de tekencodering in, ParagraphBreak stelt de regeleinde-tekenreeks in, MaxCharactersPerLine breekt lange regels af, SimplifyListLabels normaliseert lijstpunten/-nummers naar platte tekens, en PreserveTableLayout probeert tabelkolommen uitgelijnd te houden met spaties.


Detecteren van een formaat vóór conversie

Voordat je een bestand converteert waarvan je het formaat nog niet kent, geeft FileFormatUtil.DetectFileFormat(fileName) een FileFormatInfo terug met het gedetecteerde LoadFormat. Combineer dit met FileFormatUtil.LoadFormatToSaveFormat(loadFormat) om te bepalen of een round-trip via de door deze editie ondersteunde formaten mogelijk is voordat je Document.Save probeert.


Tips en best practices

  • Gebruik Save(fileName, saveOptions) in plaats van de gewone Save(fileName, saveFormat) overload wanneer je format-specifiek gedrag moet controleren, zoals het renderen van Markdown-lijsten of OOXML-compressie.
  • Stel OoxmlSaveOptions.Password in voor een open-wachtwoordbeschermd bestand; dit staat los van Document.Protect, die bewerken beperkt maar het bestand niet versleutelt.
  • Kies MarkdownSaveOptions.ExportImagesAsBase64 voor één zelfvoorzienend Markdown-bestand, of ImagesFolder wanneer je een map met uitgepakte afbeeldingsbestanden naast de Markdown wilt.
  • Roep SaveOptions.CreateSaveOptions(saveFormat) aan in plaats van handmatig de concrete optiesklasse te kiezen wanneer het doelformaat tijdens runtime wordt bepaald.
  • Verifieer een doelformaat met FileFormatUtil vóór conversie in plaats van te vertrouwen op een kale bestandsextensie, die foutief of misleidend kan zijn.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Save(fileName) kiest het verkeerde formaatDe bestandsextensie komt niet overeen met het beoogde formaatGebruik Save(fileName, saveFormat) of Save(fileName, saveOptions) om het formaat expliciet te maken
Opgeslagen OOXML-bestand kan niet worden geopend met een wachtwoordOoxmlSaveOptions.Password was niet ingesteld vóór het opslaanMaak een OoxmlSaveOptions, stel Password in, en geef deze door aan Save
Markdown-export verspreidt afbeeldingsbestanden onverwachtStandaardgedrag van MarkdownSaveOptions extraheert afbeeldingen naar bestandenStel ExportImagesAsBase64 = true in voor één enkel zelfvoorzienend bestand, of stel ImagesFolder in om te bepalen waar afbeeldingen worden geplaatst
Platte-tekstexport verliest de uitlijning van tabelkolommenTxtSaveOptions.PreserveTableLayout blijft op de standaardStel PreserveTableLayout = true in voordat u opslaat

FAQ

Hoe sla ik een document op in een specifiek formaat, ongeacht de bestandsextensie?

Roep Save(fileName, saveFormat) aan met een expliciete SaveFormat-waarde, of Save(fileName, saveOptions) met een overeenkomende SaveOptions-subklasse.

Welke formaten leest en schrijft deze editie in beide richtingen?

DOCX, DOCM, DOTX, DOTM, Flat OPC (plus its macro-enabled and template variants), Markdown, en plain text.

Hoe kan ik een opgeslagen bestand met een wachtwoord beveiligen?

Stel Password in op een OoxmlSaveOptions-instantie en geef deze door aan Document.Save(fileName, saveOptions).

Hoe kan ik de regeleinden in een geëxporteerd tekstbestand regelen?

Stel ParagraphBreak in op een TxtSaveOptions-instantie vóór het opslaan.

Hoe controleer ik welk formaat een bestand heeft voordat ik het converteer?

Roep FileFormatUtil.DetectFileFormat(fileName) aan en lees de geretourneerde FileFormatInfo.LoadFormat.


API Reference Samenvatting

Klasse/MethodeBeschrijving
Document.SaveSchrijft het document naar een bestand, stream of outputdoel in een gekozen formaat.
SaveFormatEnum die het doelformaat voor een opslagoperatie identificeert.
SaveOptionsAbstracte basisklasse voor formaat-specifieke opslagconfiguratie; CreateSaveOptions(saveFormat) retourneert de bijpassende subklasse.
OoxmlSaveOptionsOpties voor DOCX, DOCM, DOTX, DOTM en Flat OPC — wachtwoord, compliance, compressie.
MarkdownSaveOptionsOpties voor Markdown-export — lijst-/linkweergave, afbeeldingverwerking.
TxtSaveOptions / TxtSaveOptionsBaseOpties voor plain-text-export — codering, regeleinden, tabelindeling.
FileFormatUtil.DetectFileFormatDetecteert het formaat van een bestand voordat het wordt geladen of geconverteerd.
FileFormatUtil.SaveFormatToExtension / ExtensionToSaveFormatConverteer tussen een SaveFormat-waarde en een bestandsextensie.

Zie ook

 Nederlands