Laddar dokument med LoadOptions

Laddar dokument med LoadOptions

Läser in dokument med LoadOptions

Denna guide visar hur man styr dokumentinläsning utöver en enkel filsökväg eller ström, med hjälp av LoadOptions-klassen. Document har konstruktörsöverladdningar som accepterar en LoadOptions-instans — Document(fileName, loadOptions) och Document(stream, loadOptions) — så att alla inställningar som beskrivs här tillämpas vid inläsning, innan dokumentobjektet returneras till din kod.


Klassen LoadOptions

LoadOptions bär de inställningar Aspose.Words FOSS behöver när ett dokument laddas in i ett Document-objekt. Dess konstruktorer inkluderar en parameterlös LoadOptions(), LoadOptions(password) för att öppna en lösenordsskyddad fil direkt, och LoadOptions(loadFormat, password, baseUri) för att specificera formatet explicit. Utöver Password och BaseUri (används för att lösa relativa referenser såsom länkade resurser), exponerar LoadOptions Encoding för textbaserade format, TempFolder för bearbetning av stora dokument, MswVersion för att ange vilken Word-versionens formatkonventioner som gäller, samt UpdateDirtyFields, IgnoreOleData och UseSystemLcid för finare kontroll över laddningsbeteendet. LoadOptions.FontSettings låter dig ange FontSettings vid laddningstid snarare än att konfigurera typsnitt endast efter att dokumentet har laddats.

Format-specifika inläsningsalternativ

Vissa format har sin egen LoadOptions-subklass som exponerar inställningar specifika för det formatet. TxtLoadOptions (för vanlig text) lägger till AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection och separata LeadingSpacesOptions/TrailingSpacesOptions av typen TxtLeadingSpacesOptions/TxtTrailingSpacesOptions för att styra hur inledande och avslutande blanksteg på varje rad hanteras. MarkdownLoadOptions lägger till PreserveEmptyLines, ImportUnderlineFormatting och SoftLineBreakCharacter för att kontrollera hur Markdowns radbrytningskonventioner mappas till dokumentparagrafer och -körningar. Båda subklasserna ärver varje allmän LoadOptions-egenskap, så ett lösenord eller en resursinläsningsåteruppringning som sätts på en TxtLoadOptions eller MarkdownLoadOptions-instans beter sig på samma sätt som på basklassen.

Resursinläsningsåteruppringningar

LoadOptions.ResourceLoadingCallback accepterar en implementation av IResourceLoadingCallback, som meddelas när laddaren löser externa resurser som refereras av dokumentet som laddas. Återuppringningen får en ResourceLoadingArgs som beskriver ResourceType för den resurs som laddas, och returnerar en ResourceLoadingAction för att tala om för laddaren om den ska ladda resursen normalt, hoppa över den, eller ersätta med anpassad data. Detta är utökningspunkten för att styra eller avbryta resursupplösning under laddning, oberoende av vilket format som läses.

Språk, riktning och återhämtningsinställningar

LoadOptions.LanguagePreferences är ett LanguagePreferences-objekt vars DefaultEditingLanguage (ett EditingLanguage-enumvärde) anger det språk Aspose.Words FOSS antar när ett dokument inte specificerar ett explicit; AddEditingLanguage(language) och AddEditingLanguages(languages) registrerar ytterligare språk som dokumentet kan använda. DocumentDirection (även exponerat direkt på TxtLoadOptions) är ett enum med värdena LeftToRight, RightToLeft och Auto för att styra textriktning vid laddning. LoadOptions.RecoveryMode tar ett DocumentRecoveryMode-värde, vilket styr hur laddaren svarar när den stöter på ett felformaterat eller delvis korrupt dokument.

Progress- och varningsåteruppringningar

Utöver resursladdning accepterar LoadOptions.WarningCallback och LoadOptions.ProgressCallback callback-implementationer som meddelas om icke-fatala problem som uppstår under laddning respektive om laddningsprogression — användbart för att exponera återhämtningsbara problem för anroparens kod eller rapportera framsteg i stora dokument utan att pollera.


Tips och bästa praxis

  • Skicka LoadOptions(password) (eller ange LoadOptions.Password) snarare än att fånga ett laddningsundantag och försöka igen — Aspose.Words FOSS behöver lösenordet innan det kan parsa dokumentet alls.
  • Ange LanguagePreferences.DefaultEditingLanguage när du laddar dokument vars språkmetadata saknas eller är opålitlig, så att efterföljande språkberoende bearbetning beter sig förutsägbart.
  • Föredra den format-specifika alternativklassen (TxtLoadOptions, MarkdownLoadOptions) framför den grundläggande LoadOptions när du laddar dessa format, eftersom den specifika underklassen exponerar formatrelevanta inställningar som bas-klassen inte gör.
  • Implementera IResourceLoadingCallback när du behöver omdirigera, cache-lagra eller blockera extern resursupplösning under laddning snarare än efter att dokumentet redan finns i minnet.
  • Ställ in LoadOptions.RecoveryMode medvetet för pipelines som bearbetar dokument från opålitliga eller tredjeparts-källor, snarare än att förlita sig på standardåterställningsbeteende.

Vanliga problem

ProblemOrsakÅtgärd
Att ladda ett lösenordsskyddat dokument kastar ett undantagInget lösenord angavs, eller så angavs det efter att inläsningen redan hade börjatSkicka LoadOptions(password) (eller sätt Password på en LoadOptions-instans) till Document-konstruktörsöverladdning som accepterar LoadOptions
Inledande/slutande blanksteg i en inläst textfil hanteras inte som förväntatStandardbeteendet för TxtLeadingSpacesOptions/TxtTrailingSpacesOptions matchar inte källfilens blankstegskonventionerStäll in TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions explicit
Markdown-radbrytningar motsvarar inte den förväntade styckestrukturenMarkdownLoadOptions.PreserveEmptyLines eller SoftLineBreakCharacter matchar inte käll-Markdownens konventionerJustera den relevanta MarkdownLoadOptions-egenskapen innan inläsning
Laddning av extern resurs observeras inte eller kan inte kontrollerasIngen IResourceLoadingCallback registrerades på LoadOptions.ResourceLoadingCallbackImplementera IResourceLoadingCallback och tilldela den innan inläsning

FAQ

Hur laddar jag ett lösenordsskyddat dokument?

Konstruera LoadOptions med lösenordet — new LoadOptions(password) — eller sätt LoadOptions.Password, och skicka sedan den till new Document(fileName, loadOptions) eller new Document(stream, loadOptions).

Behöver jag en format-specifik LoadOptions-underklass, eller räcker bas-klassen?

Den grundläggande LoadOptions-klassen omfattar inställningar som är gemensamma för alla format (password, encoding, callbacks). Använd en format-specifik subklass såsom TxtLoadOptions eller MarkdownLoadOptions när du behöver inställningar som är specifika för det formatet, exempelvis hantering av blanksteg för textfiler eller radbrytningskonventioner för Markdown.

Hur kan jag avlyssna eller omdirigera resurser som ett dokument refererar till under inläsning?

Implementera IResourceLoadingCallback och tilldela den till LoadOptions.ResourceLoadingCallback innan inläsning. Återuppringningen får en ResourceLoadingArgs per resurs och returnerar en ResourceLoadingAction som bestämmer hur laddaren fortsätter.

Hur styr jag vilket språk Aspose.Words FOSS antar för ett inläst dokument?

Ställ in LoadOptions.LanguagePreferences.DefaultEditingLanguage till ett EditingLanguage-värde innan inläsning; använd AddEditingLanguage/AddEditingLanguages för att registrera ytterligare språk som dokumentet kan innehålla.

Vad händer om laddaren stöter på ett felaktigt formaterat dokument?

Beteendet styrs av LoadOptions.RecoveryMode, ett DocumentRecoveryMode-värde som bestämmer hur laddaren svarar på strukturella problem i källdokumentet.


API Reference Sammanfattning

Klass/MetodBeskrivning
LoadOptionsBasalternativobjekt som styr hur ett dokument laddas
Document(fileName, loadOptions) / Document(stream, loadOptions)Konstruktörsöverladdningar som tillämpar LoadOptions under laddning
TxtLoadOptionsLaddningsalternativ specifika för vanlig textdokument
MarkdownLoadOptionsLaddningsalternativ specifika för Markdown-dokument
IResourceLoadingCallbackCallback-gränssnitt för att avlyssna upplösning av externa resurser under laddning
ResourceLoadingArgs / ResourceLoadingActionPer-resurs händelsedata och den åtgärd som returneras till laddaren
LanguagePreferencesKonfigurerar standard- och ytterligare redigeringsspråk som antas vid laddning
DocumentDirectionEnum som styr textriktning (LeftToRight, RightToLeft, Auto)
DocumentRecoveryModeStyr laddarens beteende när ett dokument är felaktigt formaterat

Se även

 Svenska