Dokumentumok betöltése LoadOptions használatával
Dokuments betöltése a(z) LoadOptions használatával
Ez az útmutató bemutatja, hogyan lehet a dokumentum betöltését egy egyszerű fájlútvonal vagy adatfolyamon túl is szabályozni a LoadOptions osztály használatával. Document konstruktor-túlterhelései elfogadnak egy LoadOptions példányt — Document(fileName, loadOptions) és Document(stream, loadOptions) — így az itt leírt beállítások betöltéskor érvényesülnek, mielőtt a dokumentumobjektum vissza lenne adva a kódodnak.
A LoadOptions osztály
LoadOptions a Aspose.Words FOSS számára szükséges beállításokat hordozza, amikor egy dokumentumot egy Document objektumba tölt be. Konstruktorai tartalmaznak egy paraméter nélküli LoadOptions()-t, LoadOptions(password)-t a jelszóval védett fájl közvetlen megnyitásához, valamint LoadOptions(loadFormat, password, baseUri)-t a formátum kifejezett megadásához. A Password és BaseUri (relatív hivatkozások, például összekapcsolt erőforrások feloldására használt) mellett a LoadOptions elérhetővé teszi a Encoding-t szövegalapú formátumokhoz, a TempFolder-t nagyméretű dokumentumok feldolgozásához, a MswVersion-t annak meghatározásához, hogy melyik Word verzió formátumkonvenciói érvényesek, valamint a UpdateDirtyFields, IgnoreOleData és UseSystemLcid finomabb betöltési viselkedésvezérlést biztosít. LoadOptions.FontSettings lehetővé teszi, hogy FontSettings-t adjon meg betöltéskor, a betűtípusok csak a dokumentum betöltése után történő beállítása helyett.
Formátum-specifikus betöltési beállítások
Néhány formátumnak saját LoadOptions alosztálya van, amely a formátumra jellemző beállításokat tárja fel. TxtLoadOptions (egyszerű szöveghez) hozzáadja a AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection értékeket, valamint külön LeadingSpacesOptions/TrailingSpacesOptions típusú TxtLeadingSpacesOptions/TxtTrailingSpacesOptions objektumokat a sorok elején és végén lévő szóközök kezeléséhez. MarkdownLoadOptions hozzáadja a PreserveEmptyLines, ImportUnderlineFormatting és SoftLineBreakCharacter beállításokat a Markdown sortörés-konvencióinak dokumentum bekezdésekre és futtásokra történő leképezésének szabályozásához. Mindkét alosztály örökli az összes általános LoadOptions tulajdonságot, így egy jelszó vagy erőforrásbetöltési visszahívás, amely egy TxtLoadOptions vagy MarkdownLoadOptions példányon van beállítva, ugyanúgy működik, mint az alaposztályban.
Erőforrás betöltési visszahívások
LoadOptions.ResourceLoadingCallback elfogad egy IResourceLoadingCallback megvalósítást, amely értesítést kap, amikor a betöltő feloldja a betöltendő dokumentum által hivatkozott külső erőforrásokat. A visszahívás egy ResourceLoadingArgs-t kap, amely leírja a betöltött erőforrás ResourceType-ját, és visszaad egy ResourceLoadingAction-t, hogy a betöltő tudja, normálisan betöltse-e az erőforrást, kihagyja-e, vagy egyedi adatot helyettesítsen. Ez a kiterjesztési pont a betöltés során az erőforrás-felbontás vezérléséhez vagy elfogásához, a formátumtól függetlenül.
Nyelv, Irány és Helyreállítási Beállítások
LoadOptions.LanguagePreferences egy LanguagePreferences objektum, amelynek DefaultEditingLanguage (egy EditingLanguage enum érték) beállítja a Aspose.Words nyelvet, amelyet a FOSS feltételez, ha a dokumentum nem határoz meg egyet kifejezetten; AddEditingLanguage(language) és AddEditingLanguages(languages) regisztrálják a dokumentum által esetleg használt további nyelveket. DocumentDirection (amely közvetlenül is elérhető a TxtLoadOptions-on) egy enum, amelynek LeftToRight, RightToLeft és Auto értékei vannak a betöltéskor a szövegfolyás irányának szabályozásához. LoadOptions.RecoveryMode egy DocumentRecoveryMode értéket vesz fel, amely szabályozza, hogyan reagál a betöltő, ha hibás vagy részben sérült dokumentummal találkozik.
Folyamat és Figyelmeztető Visszahívások
Az erőforrás betöltésén túl a LoadOptions.WarningCallback és a LoadOptions.ProgressCallback visszahívás-implementációkat fogadnak el, amelyek értesülnek a betöltés közben felmerülő nem kritikus problémákról és a betöltési előrehaladásról, rendre — hasznos a helyreállítható problémák a hívó kódban való megjelenítéséhez vagy a nagy dokumentumok előrehaladásának jelentéséhez lekérdezés nélkül.
Tippek és Legjobb Gyakorlatok
- Adja át a
LoadOptions(password)-t (vagy állítsa be aLoadOptions.Password-t) ahelyett, hogy a betöltési kivételt elkapná és újrapróbálná — a Aspose.Words FOSS-nek szüksége van a jelszóra, mielőtt egyáltalán meg tudná elemezni a dokumentumot. - Állítsa be a
LanguagePreferences.DefaultEditingLanguage-t olyan dokumentumok betöltésekor, amelyek nyelvi metaadatai hiányosak vagy megbízhatatlanok, hogy az azt követő nyelvtől függő feldolgozás kiszámíthatóan viselkedjen. - A formátumspecifikus opciók osztályt (
TxtLoadOptions,MarkdownLoadOptions) részesítsd előnyben aLoadOptionsalaposztállyal szemben a formátumok betöltésekor, mivel a konkrét alosztály olyan formátumra vonatkozó beállításokat tesz elérhetővé, amelyeket az alaposztály nem. - Használd a
IResourceLoadingCallbackimplementálását, amikor a betöltés során kell átirányítani, gyorsítótárazni vagy blokkolni a külső erőforrások feloldását, a dokumentum már memóriában léte után történő megoldás helyett. - Állítsd be szándékosan a
LoadOptions.RecoveryMode-t olyan csővezetékeknél, amelyek megbízhatatlan vagy harmadik fél által biztosított forrásokból származó dokumentumokat dolgoznak fel, ahelyett, hogy az alapértelmezett helyreállítási viselkedésre támaszkodnál.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
| Jelszóval védett dokumentum betöltése kivételt dob | Nem lett megadva jelszó, vagy a betöltés már megkezdődése után került megadásra | Adja át LoadOptions(password) (vagy állítsa be Password egy LoadOptions példányon) a Document konstruktor túlterhelésnek, amely LoadOptions-t fogad el |
| A betöltött szövegfájl elején vagy végén lévő whitespace nincs a várt módon kezelve | Az alapértelmezett TxtLeadingSpacesOptions/TxtTrailingSpacesOptions viselkedés nem egyezik a forrásfájl whitespace konvencióival | Állítsa be a TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions értéket explicit módon |
| A Markdown sortörések nem felelnek meg a várt bekezdésstruktúrának | MarkdownLoadOptions.PreserveEmptyLines vagy SoftLineBreakCharacter nem egyezik a forrás Markdown konvencióival | Módosítsd a megfelelő MarkdownLoadOptions tulajdonságot a betöltés előtt |
| A külső erőforrás betöltése nem figyelhető vagy szabályozható | Nem volt IResourceLoadingCallback regisztrálva a LoadOptions.ResourceLoadingCallback | Valósítsd meg a IResourceLoadingCallback elemet, és rendeld hozzá a betöltés előtt |
FAQ
Hogyan tölthetek be egy jelszóval védett dokumentumot?
Állítsd össze a LoadOptions-t a jelszóval — new LoadOptions(password) — vagy állítsd be a LoadOptions.Password-t, majd add át a new Document(fileName, loadOptions)-nek vagy a new Document(stream, loadOptions)-nek.
Szükségem van egy formátumspecifikus LoadOptions alosztályra, vagy elegendő az alaposztály?
Az alap LoadOptions osztály lefedi az összes formátumra közös beállításokat (jelszó, kódolás, visszahívások). Használjon formátum-specifikus alosztályt, például TxtLoadOptions vagy MarkdownLoadOptions, ha a formátumra vonatkozó beállításokra van szükség, mint például a szóközök kezelése szövegfájloknál vagy a sorvég konvenciók a Markdown esetén.
Hogyan tudom elfogni vagy átirányítani a dokumentum betöltése közben hivatkozott erőforrásokat?
Implementálja a IResourceLoadingCallback elemet, és a betöltés előtt rendelje hozzá a LoadOptions.ResourceLoadingCallback változóhoz. A visszahívás minden erőforráshoz kap egy ResourceLoadingArgs objektumot, és egy ResourceLoadingAction értéket ad vissza, amely meghatározza, hogyan folytatja a betöltő.
Hogyan szabályozhatom, hogy a Aspose.Words FOSS milyen nyelvet feltételez egy betöltött dokumentum esetén?
Állítsa be a LoadOptions.LanguagePreferences.DefaultEditingLanguage értékét egy EditingLanguage értékre a betöltés előtt; használja a AddEditingLanguage/AddEditingLanguages elemeket a dokumentumban előforduló további nyelvek regisztrálásához.
Mi történik, ha a betöltő hibás formátumú dokumentummal találkozik?
A viselkedést a LoadOptions.RecoveryMode szabályozza, egy DocumentRecoveryMode érték, amely meghatározza, hogyan reagál a betöltő a forrásdokumentum szerkezeti problémáira.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
LoadOptions | Alapbeállítási objektum, amely a dokumentum betöltését szabályozza |
Document(fileName, loadOptions) / Document(stream, loadOptions) | Konstruktor túlterhelések, amelyek a betöltés közben LoadOptions-t alkalmazzák |
TxtLoadOptions | Betöltési beállítások, amelyek egyszerű szöveges dokumentumokra vonatkoznak |
MarkdownLoadOptions | Betöltési beállítások, amelyek a Markdown dokumentumokra vonatkoznak |
IResourceLoadingCallback | Visszahívási interfész a külső erőforrás feloldásának elfogásához a betöltés közben |
ResourceLoadingArgs / ResourceLoadingAction | Erőforrásonkénti eseményadatok és a betöltőnek visszaadott művelet |
LanguagePreferences | Konfigurálja a betöltéskor feltételezett alapértelmezett és további szerkesztői nyelveket |
DocumentDirection | Enum a szövegfolyás irányának szabályozásához (LeftToRight, RightToLeft, Auto) |
DocumentRecoveryMode | A betöltő viselkedésének vezérlése, ha a dokumentum hibás |