Dokumentumok mentése és exportálása

Dokumentumok mentése és exportálása

Dokumentumok mentése és exportálása

Document.Save egy dokumentumot ír egy fájlba vagy adatfolyamba a célformátumban. A formátum vagy a fájlkiterjesztésből következtethető, vagy kifejezetten SaveFormat értékként van megadva, vagy egy SaveOptions alosztály által vezérelhető — OoxmlSaveOptions, MarkdownSaveOptions vagy TxtSaveOptions — a formátumspecifikus vezérléshez. Ez az útmutató lefedi a Save túlterheléseket, a SaveFormat enumot, az OOXML mentési beállításokat, a Markdown és egyszerű szöveg exportot, valamint a formátum felismerését konvertálás előtt.


Mentés a Document.Save használatával

A legegyszerűbb hívás, Document.Save(fileName), a célformátumot a fájl kiterjesztéséből következteti. Save(fileName, saveFormat) a formátumot kifejezetten megadja a kiterjesztéstől függetlenül, és Save(fileName, saveOptions) (vagy a megfelelő Stream túlterhelések) egy SaveOptions alosztályt elfogad a formátumspecifikus beállításokhoz. SaveOptions.CreateSaveOptions(saveFormat) egy statikus gyár, amely visszaadja a megfelelő beállítási alosztályt egy adott SaveFormat számára, az alapértelmezésekkel már beállítva.


Formátum választása a SaveFormat használatával

A SaveFormat enum felsorolja az összes mentési formátum azonosítót, amelyet a könyvtár felismer. Document.Save teljes mértékben ír és olvas is ennek a kiadásnak a fő dokumentumformátumaiban — DOCX, DOCM, DOTX, DOTM és Flat OPC (plusz a makrók támogatott és sablon változatai) — valamint a Markdown és egyszerű szöveg formátumokban. FileFormatUtil.SaveFormatToExtension(saveFormat) és ExtensionToSaveFormat(extension) konvertálnak az enum és egy fájlkiterjesztés karakterlánc között.

Néhány SaveFormat érték az enumban a API teljessége érdekében szerepel, de olyan formátumokra vonatkozik, amelyeket ez a lecsökkent, nyílt forráskódú kiadás nem valósít meg működő olvasóval vagy íróval — ilyen formátumba való mentés próbálkozása olyan kimenetet eredményez, amely nem egyenértékű a forrásdokumentummal. Maradj a fent felsorolt formátumoknál a megbízható körkörös átalakításhoz.


OOXML lehetőségek: DOCX, DOCM, DOTX, DOTM és Flat OPC

OoxmlSaveOptions konfigurálja a mentést bármelyik Open XML formátumba. A SaveFormat tulajdonsága választja ki, hogy melyik konkrét változatot írja; a Password megad egy nyílt jelszót a mentett fájlhoz (függetlenül Document.Protect szerkesztési korlátozásaitól); a Compliance kiválasztja az OOXML szigorúsági szintet; és a CompressionLevel / Zip64Mode vezérlik az alapul szolgáló ZIP csomagolást. Készíts egyet a new OoxmlSaveOptions(saveFormat) segítségével vagy a SaveOptions.CreateSaveOptions(saveFormat) útján.


Exportálás Markdown-be

MarkdownSaveOptions szabályozza a Markdown exportot: a ListExportMode és LinkExportMode határozzák meg, hogyan jelennek meg a listák és a hiperhivatkozások, a ImagesFolder / ImagesFolderAlias szabályozzák, hogy hová íródjanak a kinyert képek és hogyan hivatkozzanak rájuk, a ExportImagesAsBase64 ehelyett beágyazza őket soron belül, és a TableContentAlignment befolyásolja a generált táblázat jelölését. Adj egy MarkdownSaveOptions példányt a Document.Save(fileName, saveOptions)-nek egy .md fájlnévvel, vagy állítsd be explicit módon a SaveFormat-t.


Exportálás egyszerű szövegbe

TxtSaveOptions (a TxtSaveOptionsBase alapszintjén keresztül, amelyet a MarkdownSaveOptions is megoszt) szabályozza az egyszerű szöveg exportot: a Encoding állítja be a karakterkódolást, a ParagraphBreak a sorvége karakterláncot, a MaxCharactersPerLine tördelje a hosszú sorokat, a SimplifyListLabels normalizálja a lista pontokat/számokat egyszerű karakterekké, és a PreserveTableLayout megkísérli a táblázatos oszlopok térközzel történő igazítását.


Formátum felismerése konvertálás előtt

Mielőtt konvertálnál egy olyan fájlt, amelynek formátumát még nem ismered, a FileFormatUtil.DetectFileFormat(fileName) egy FileFormatInfo-t ad vissza a felismert LoadFormat-vel. Kombináld ezt a FileFormatUtil.LoadFormatToSaveFormat(loadFormat)-val, hogy eldöntsd, lehetséges-e egy körúton keresztül ezen kiadás által támogatott formátumokon, mielőtt megpróbálnád a Document.Save-t.


Tippek és legjobb gyakorlatok

  • Használja a Save(fileName, saveOptions) helyett a sima Save(fileName, saveFormat) túlterhelést, amikor formátum-specifikus viselkedést kell szabályozni, például a Markdown lista megjelenítést vagy az OOXML tömörítést.
  • Állítsa be a OoxmlSaveOptions.Password egy nyílt jelszóval védett fájlhoz; ez különbözik a Document.Protect-től, amely korlátozza a szerkesztést, de nem titkosítja a fájlt.
  • Válassza a MarkdownSaveOptions.ExportImagesAsBase64 egyetlen önálló Markdown fájlhoz, vagy a ImagesFolder-t, ha egy mappát szeretne a kicsomagolt képfájlokkal a Markdown mellett.
  • Hívja meg a SaveOptions.CreateSaveOptions(saveFormat) helyett, hogy manuálisan ne kelljen kiválasztani a konkrét opciók osztályt, amikor a célformátum futásidőben kerül meghatározásra.
  • Ellenőrizze a célformátumot a FileFormatUtil segítségével a konvertálás előtt, ahelyett, hogy csak a fájlkiterjesztésre támaszkodna, amely helytelen vagy félrevezető lehet.

Gyakori problémák

ProblémaOkaJavítás
Save(fileName) a rossz formátumot választjaA fájl kiterjesztése nem egyezik a kívánt formátummalHasználja Save(fileName, saveFormat) vagy Save(fileName, saveOptions) a formátum egyértelműsítéséhez
A mentett OOXML fájl nem nyílik meg jelszóvalOoxmlSaveOptions.Password nem volt beállítva a mentés előttHozzon létre egy OoxmlSaveOptions, állítsa be Password, és adja át a Save számára
A Markdown export váratlanul szétteríti a képfájlokatAz alapértelmezett MarkdownSaveOptions viselkedés a képeket fájlokba mentiÁllítsa be ExportImagesAsBase64 = true egyetlen önálló fájlhoz, vagy állítsa be ImagesFolder értékét, hogy szabályozza, hová kerülnek a képek
A egyszerű szöveges export elveszíti a táblázat oszlopok igazításátTxtSaveOptions.PreserveTableLayout alapértelmezett maradÁllítsa be a PreserveTableLayout = true mentés előtt

FAQ

Hogyan menthetek egy dokumentumot egy adott formátumba a fájlkiterjesztésétől függetlenül?

Hívja meg a Save(fileName, saveFormat) egy explicit SaveFormat értékkel, vagy a Save(fileName, saveOptions) egy megfelelő SaveOptions alosztállyal.

Mely formátumokat olvas és ír ez a kiadás mindkét irányban?

DOCX, DOCM, DOTX, DOTM, Flat OPC (plusz a makrókkal ellátott és sablonváltozatai), Markdown és egyszerű szöveg.

Hogyan védhetek jelszóval egy mentett fájlt?

Állítsa be a Password értéket egy OoxmlSaveOptions példányon, és adja át a Document.Save(fileName, saveOptions)-nek.

Hogyan szabályozhatom a sorvégeket egy exportált szövegfájlban?

Állítsa be a ParagraphBreak értéket egy TxtSaveOptions példányon mentés előtt.

Hogyan ellenőrizhetem, hogy egy fájl milyen formátumú, mielőtt átkonvertálnám?

Hívja meg a FileFormatUtil.DetectFileFormat(fileName) és olvassa el a visszakapott FileFormatInfo.LoadFormat.


API Reference összefoglaló

Osztály/MódszerLeírás
Document.SaveA dokumentumot egy fájlba, adatfolyamba vagy kimeneti célba írja a kiválasztott formátumban.
SaveFormatEnum, amely a mentési művelet célformátumát azonosít.
SaveOptionsFormátum-specifikus mentési konfigurációhoz tartozó absztrakt bázisosztály; CreateSaveOptions(saveFormat) visszaadja a megfelelő alosztályt.
OoxmlSaveOptionsA DOCX, DOCM, DOTX, DOTM és Flat OPC beállításai — jelszó, megfelelőség, tömörítés.
MarkdownSaveOptionsMarkdown exportálás beállításai — lista/hivatkozás megjelenítés, képek kezelése.
TxtSaveOptions / TxtSaveOptionsBaseEgyszerű szöveg exportálás beállításai — kódolás, sortörések, táblázat elrendezése.
FileFormatUtil.DetectFileFormatFelismeri a fájl formátumát, mielőtt betöltené vagy átalakítaná.
FileFormatUtil.SaveFormatToExtension / ExtensionToSaveFormatÁtalakít egy SaveFormat érték és egy fájlkiterjesztés között.

Lásd még:

 Magyar