Spara och exportera dokument

Spara och exportera dokument

Spara och exportera dokument

Document.Save skriver ett dokument till en fil eller ström i ett målformat. Formatet härleds antingen från en filändelse, ges explicit som ett SaveFormat-värde, eller styrs av en SaveOptions-subklass — OoxmlSaveOptions, MarkdownSaveOptions eller TxtSaveOptions — för format-specifik kontroll. Denna guide täcker Save-överladdningarna, SaveFormat-enumerationen, OOXML-sparalternativ, Markdown- och ren-text-export samt att upptäcka ett format innan konvertering.


Spara med Document.Save

Det enklaste anropet, Document.Save(fileName), härleder målformatet från filens ändelse. Save(fileName, saveFormat) gör formatet explicit oavsett ändelse, och Save(fileName, saveOptions) (eller de matchande Stream-överladdningarna) accepterar en SaveOptions-subklass för format-specifika inställningar. SaveOptions.CreateSaveOptions(saveFormat) är en statisk fabrik som returnerar rätt alternativ-subklass för en given SaveFormat med dess standardvärden redan satta.


Välja ett format med SaveFormat

Enumen SaveFormat listar alla spar-formatidentifierare som biblioteket känner igen. Document.Save skriver fullständigt både till och från den här utgåvans kärndokumentformat — DOCX, DOCM, DOTX, DOTM och Flat OPC (plus dess makro-aktiverade och mall-varianter) — samt Markdown och ren text. FileFormatUtil.SaveFormatToExtension(saveFormat) och ExtensionToSaveFormat(extension) konverterar mellan enumen och en filändelse-sträng.

Vissa SaveFormat-värden finns i enumen för API-kompletthet men motsvarar format som denna reducerade, open-source-utgåva inte har implementerat en fungerande läsare eller skribent för — att försöka spara till ett av dem ger utdata som inte är ekvivalent med källdokumentet. Håll dig till formaten som nämns ovan för pålitlig rundresning.


OOXML-alternativ: DOCX, DOCM, DOTX, DOTM och Flat OPC

OoxmlSaveOptions konfigurerar sparande till någon av Open XML-formaten. Dess SaveFormat-egenskap väljer vilken specifik variant som ska skrivas; Password sätter ett öppet lösenord på den sparade filen (oberoende av Document.Protect’s redigeringsrestriktioner); Compliance väljer OOXML:s striktighetsnivå; och CompressionLevel / Zip64Mode styr den underliggande ZIP-paketeringen. Skapa en med new OoxmlSaveOptions(saveFormat) eller via SaveOptions.CreateSaveOptions(saveFormat).


Exportera till Markdown

MarkdownSaveOptions styr en Markdown-export: ListExportMode och LinkExportMode bestämmer hur listor och hyperlänkar renderas, ImagesFolder / ImagesFolderAlias styr var extraherade bilder skrivs och hur de refereras, ExportImagesAsBase64 bäddar in dem inline istället, och TableContentAlignment påverkar den genererade tabellmarkupen. Skicka en MarkdownSaveOptions-instans till Document.Save(fileName, saveOptions) med ett .md filnamn, eller ange dess SaveFormat explicit.


Exportera till vanlig text

TxtSaveOptions (via sin bas TxtSaveOptionsBase, gemensam med MarkdownSaveOptions) styr export av vanlig text: Encoding anger teckenkodningen, ParagraphBreak anger radslutsträngen, MaxCharactersPerLine radbryter långa rader, SimplifyListLabels normaliserar listpunkter/nummer till vanliga tecken, och PreserveTableLayout försöker hålla tabellkolumner justerade med mellanslag.


Detektera ett format innan konvertering

Innan du konverterar en fil vars format du inte redan känner till, returnerar FileFormatUtil.DetectFileFormat(fileName) en FileFormatInfo med den upptäckta LoadFormat. Kombinera detta med FileFormatUtil.LoadFormatToSaveFormat(loadFormat) för att avgöra om en rundresa genom denna utgåvas stödda format är möjlig innan du försöker Document.Save.


Tips och bästa praxis

  • Använd Save(fileName, saveOptions) istället för den enkla Save(fileName, saveFormat) överlagringen när du behöver kontrollera format-specifikt beteende som Markdown-listrendering eller OOXML-komprimering.
  • Ställ in OoxmlSaveOptions.Password för en fil som är skyddad med öppet lösenord; det är separat från Document.Protect, som begränsar redigering men inte krypterar filen.
  • Välj MarkdownSaveOptions.ExportImagesAsBase64 för en enda fristående Markdown-fil, eller ImagesFolder när du vill ha en mapp med extraherade bildfiler bredvid Markdown-filen.
  • Anropa SaveOptions.CreateSaveOptions(saveFormat) istället för att manuellt välja den konkreta alternativklassen när målformatet bestäms vid körning.
  • Verifiera ett målformat med FileFormatUtil före konvertering istället för att förlita dig på enbart filändelsen, som kan vara felaktig eller missvisande.

Vanliga problem

ProblemOrsakLösning
Save(fileName) väljer fel formatFiländelsen matchar inte det avsedda formatetAnvänd Save(fileName, saveFormat) eller Save(fileName, saveOptions) för att göra formatet explicit
Sparad OOXML-fil kan inte öppnas med ett lösenordOoxmlSaveOptions.Password var inte inställd innan sparandetKonstruera ett OoxmlSaveOptions, ställ in Password, och skicka det till Save
Markdown-export sprider bildfiler oväntatStandard MarkdownSaveOptions-beteende extraherar bilder till filerStäll in ExportImagesAsBase64 = true för en enda självständig fil, eller ställ in ImagesFolder för att kontrollera var bilderna hamnar
Export av ren text förlorar tabellkolumnens justeringTxtSaveOptions.PreserveTableLayout är kvar på standardStäll in PreserveTableLayout = true innan du sparar

FAQ

Hur sparar jag ett dokument i ett specifikt format oavsett filändelse?

Anropa Save(fileName, saveFormat) med ett explicit SaveFormat-värde, eller Save(fileName, saveOptions) med en matchande SaveOptions-subklass.

Vilka format kan den här utgåvan läsa och skriva i båda riktningarna?

DOCX, DOCM, DOTX, DOTM, Flat OPC (plus dess makroaktiverade och mallvarianter), Markdown och vanlig text.

Hur skyddar jag en sparad fil med lösenord?

Ställ in Password på en OoxmlSaveOptions-instans och skicka den till Document.Save(fileName, saveOptions).

Hur styr jag radsluten i en exporterad textfil?

Ställ in ParagraphBreak på en TxtSaveOptions-instans innan du sparar.

Hur kontrollerar jag vilket format en fil har innan jag konverterar den?

Anropa FileFormatUtil.DetectFileFormat(fileName) och läs den returnerade FileFormatInfo.LoadFormat.


API Reference Sammanfattning

Klass/MetodBeskrivning
Document.SaveSkriver dokumentet till en fil, ström eller utskriftsmål i ett valt format.
SaveFormatEnum som identifierar målformatet för en sparoperation.
SaveOptionsAbstrakt basklass för format-specifik sparkonfiguration; CreateSaveOptions(saveFormat) returnerar den matchande underklassen.
OoxmlSaveOptionsAlternativ för DOCX, DOCM, DOTX, DOTM och Flat OPC — lösenord, efterlevnad, komprimering.
MarkdownSaveOptionsAlternativ för Markdown-export — list- och länkrendering, bildhantering.
TxtSaveOptions / TxtSaveOptionsBaseAlternativ för vanlig text-export — kodning, radbrytningar, tabelllayout.
FileFormatUtil.DetectFileFormatDetekterar en fils format innan den laddas eller konverteras.
FileFormatUtil.SaveFormatToExtension / ExtensionToSaveFormatKonvertera mellan ett SaveFormat-värde och en filändelse.

Se även

 Svenska