Documenten laden met LoadOptions

Documenten laden met LoadOptions

Documenten laden met LoadOptions

Deze gids laat zien hoe je het laden van documenten kunt controleren, verder dan een eenvoudig bestandspad of stream, met behulp van de LoadOptions klasse. Document heeft constructoroverloads die een LoadOptions instantie accepteren — Document(fileName, loadOptions) en Document(stream, loadOptions) — zodat alle hier beschreven instellingen van toepassing zijn op het laadmoment, voordat het documentobject wordt teruggegeven aan je code.


De LoadOptions klasse

LoadOptions bevat de instellingen Aspose.Words die FOSS nodig heeft bij het laden van een document in een Document object. De constructors omvatten een parameterloze LoadOptions(), LoadOptions(password) voor het direct openen van een met wachtwoord beveiligd bestand, en LoadOptions(loadFormat, password, baseUri) voor het expliciet opgeven van het formaat. Naast Password en BaseUri (gebruikt om relatieve verwijzingen zoals gekoppelde bronnen op te lossen), maakt LoadOptions Encoding beschikbaar voor tekstgebaseerde formaten, TempFolder voor verwerking van grote documenten, MswVersion om aan te geven welke Word-versie-formaatconventies van toepassing zijn, en UpdateDirtyFields, IgnoreOleData en UseSystemLcid voor fijnmazigere controle over het laadgedrag. LoadOptions.FontSettings stelt je in staat FontSettings te leveren op het moment van laden in plaats van lettertypen pas na het laden van het document te configureren.

Formaat-specifieke laadopties

Sommige formaten hebben hun eigen LoadOptions-subklasse die instellingen blootlegt die specifiek zijn voor dat formaat. TxtLoadOptions (voor platte tekst) voegt AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection toe, en aparte LeadingSpacesOptions/TrailingSpacesOptions van het type TxtLeadingSpacesOptions/TxtTrailingSpacesOptions voor het regelen hoe voorloop- en naloopspaties op elke regel worden behandeld. MarkdownLoadOptions voegt PreserveEmptyLines, ImportUnderlineFormatting en SoftLineBreakCharacter toe om te bepalen hoe de regeleinde-conventies van Markdown worden omgezet naar documentparagrafen en runs. Beide subklassen erven elke algemene LoadOptions-eigenschap, zodat een wachtwoord- of bron-laad-callback die is ingesteld op een TxtLoadOptions- of MarkdownLoadOptions-instantie zich hetzelfde gedraagt als op de basis-klasse.

Callback-functies voor resource-laden

LoadOptions.ResourceLoadingCallback accepteert een implementatie van IResourceLoadingCallback, die wordt geïnformeerd wanneer de loader externe bronnen oplost die door het te laden document worden gerefereerd. De callback ontvangt een ResourceLoadingArgs die de ResourceType van de te laden bron beschrijft, en retourneert een ResourceLoadingAction om de loader te vertellen of de bron normaal moet worden geladen, moet worden overgeslagen, of aangepaste gegevens moet worden gebruikt. Dit is het uitbreidingspunt voor het beheersen of onderscheppen van bronresolutie tijdens het laden, onafhankelijk van welk formaat wordt gelezen.

Taal, Richting en Herstelinstellingen

LoadOptions.LanguagePreferences is een LanguagePreferences object waarvan de DefaultEditingLanguage (een EditingLanguage enum-waarde) de taal Aspose.Words FOSS aanneemt wanneer een document er geen expliciet opgeeft; AddEditingLanguage(language) en AddEditingLanguages(languages) registreren extra talen die het document kan gebruiken. DocumentDirection (ook direct blootgesteld op TxtLoadOptions) is een enum met LeftToRight, RightToLeft en Auto waarden voor het controleren van de tekststroomrichting bij het laden. LoadOptions.RecoveryMode neemt een DocumentRecoveryMode waarde, die bepaalt hoe de loader reageert wanneer hij een misvormd of gedeeltelijk corrupt document tegenkomt.

Voortgangs- en Waarschuwingscallbacks

Naast het laden van bronnen, accepteren LoadOptions.WarningCallback en LoadOptions.ProgressCallback callback-implementaties die respectievelijk op de hoogte worden gesteld van niet-fatale problemen die tijdens het laden worden ondervonden en van de voortgang van het laden — nuttig om herstelbare problemen aan de aanroepende code te melden of om de voortgang van grote documenten te rapporteren zonder te poll’en.


Tips en Best Practices

  • Geef LoadOptions(password) door (of stel LoadOptions.Password in) in plaats van een laadexceptie op te vangen en opnieuw te proberen — Aspose.Words FOSS heeft het wachtwoord nodig voordat het het document überhaupt kan parseren.
  • Stel LanguagePreferences.DefaultEditingLanguage in bij het laden van documenten waarvan de taalmetadata ontbreekt of onbetrouwbaar is, zodat downstream taal-afhankelijke verwerking voorspelbaar is.
  • Geef de format-specifieke optiesklasse (TxtLoadOptions, MarkdownLoadOptions) de voorkeur boven de basis LoadOptions bij het laden van die formaten, omdat de specifieke subklasse format-relevante instellingen blootlegt die de basis-klasse niet heeft.
  • Implementeer IResourceLoadingCallback wanneer je externe resource-resolutie moet omleiden, cachen of blokkeren tijdens het laden in plaats van nadat het document al in het geheugen staat.
  • Stel LoadOptions.RecoveryMode bewust in voor pipelines die documenten verwerken afkomstig van onbetrouwbare of externe bronnen, in plaats van te vertrouwen op het standaard herstelgedrag.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Het laden van een wachtwoordbeveiligd document gooit een uitzonderingEr is geen wachtwoord opgegeven, of het werd opgegeven nadat het laden al was begonnenGeef LoadOptions(password) door (of stel Password in op een LoadOptions instantie) aan de Document constructoroverload die LoadOptions accepteert
Voor- en naloopwitruimte in een geladen tekstbestand wordt niet zoals verwacht behandeldStandaard TxtLeadingSpacesOptions/TxtTrailingSpacesOptions gedrag komt niet overeen met de witruimteconventies van het bronbestandStel TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions expliciet in
Markdown-regelafbrekingen komen niet overeen met de verwachte alinea-structuurMarkdownLoadOptions.PreserveEmptyLines of SoftLineBreakCharacter komt niet overeen met de conventies van de bron-MarkdownPas de relevante MarkdownLoadOptions-eigenschap aan vóór het laden
Het laden van externe bronnen wordt niet waargenomen of beheersbaarEr is geen IResourceLoadingCallback geregistreerd op LoadOptions.ResourceLoadingCallbackImplementeer IResourceLoadingCallback en wijs het toe vóór het laden

FAQ

Hoe laad ik een wachtwoordbeveiligd document?

Construeer LoadOptions met het wachtwoord — new LoadOptions(password) — of stel LoadOptions.Password in, en geef het vervolgens door aan new Document(fileName, loadOptions) of new Document(stream, loadOptions).

Heb ik een format-specifieke LoadOptions subklasse nodig, of is de basis-klasse voldoende?

De basisklasse LoadOptions bestrijkt instellingen die gemeenschappelijk zijn voor elk formaat (wachtwoord, codering, callbacks). Gebruik een formaat-specifieke subklasse zoals TxtLoadOptions of MarkdownLoadOptions wanneer je instellingen nodig hebt die specifiek zijn voor dat formaat, zoals spatie-afhandeling voor tekstbestanden of regeleinde-conventies voor Markdown.

Hoe kan ik resources die een document tijdens het laden verwijst onderscheppen of omleiden?

Implementeer IResourceLoadingCallback en wijs het toe aan LoadOptions.ResourceLoadingCallback vóór het laden. De callback ontvangt een ResourceLoadingArgs per resource en retourneert een ResourceLoadingAction die bepaalt hoe de loader verdergaat.

Hoe kan ik bepalen welke taal Aspose.Words FOSS aanneemt voor een geladen document?

Stel LoadOptions.LanguagePreferences.DefaultEditingLanguage in op een EditingLanguage waarde vóór het laden; gebruik AddEditingLanguage/AddEditingLanguages om extra talen te registreren die het document kan bevatten.

Wat gebeurt er als de loader een misvormd document tegenkomt?

Het gedrag wordt gecontroleerd door LoadOptions.RecoveryMode, een DocumentRecoveryMode waarde die bepaalt hoe de loader reageert op structurele problemen in het brondocument.


API Reference Samenvatting

Klasse/MethodeBeschrijving
LoadOptionsBasisoptiesobject dat bepaalt hoe een document wordt geladen
Document(fileName, loadOptions) / Document(stream, loadOptions)Constructor-overloads die LoadOptions toepassen tijdens het laden
TxtLoadOptionsLaadopties specifiek voor platte-tekstdocumenten
MarkdownLoadOptionsLaadopties specifiek voor Markdown-documenten
IResourceLoadingCallbackCallback-interface voor het onderscheppen van externe resource-resolutie tijdens het laden
ResourceLoadingArgs / ResourceLoadingActionPer-resource gebeurtenisgegevens en de actie die aan de loader wordt geretourneerd
LanguagePreferencesConfigureert de standaard- en extra bewerkingstalen die bij het laden worden aangenomen
DocumentDirectionEnum die de tekststroomrichting regelt (LeftToRight, RightToLeft, Auto)
DocumentRecoveryModeBeheert het gedrag van de loader wanneer een document onjuist is opgemaakt

Zie ook

 Nederlands