Hoe te werken met Documentinstellingen in .NET
Deze gids toont hoe u kunt werken met documentinstellingen op applicatieniveau in Aspose.Words FOSS voor .NET: legacy-compatibiliteitsschakelaars, voorkeuren voor afbreken, de opgeslagen mail-merge-configuratie, weergaveopties en schrijfbeveiliging. Aspose.Words FOSS voor .NET is beschikbaar via NuGet of door te bouwen vanaf de bron.
Stapsgewijze handleiding
Stap 1: Haal de bibliotheek op
Kloon de repository en bouw Aspose.Words.sln in Release-configuratie, voeg vervolgens een projectreferentie toe aan Aspose.Words.csproj vanuit je eigen .NET-project, zoals beschreven in de Installatiehandleiding. Voeg toe using Aspose.Words; and using Aspose.Words.Settings; aan het begin van elk bestand dat documentinstellingen leest of schrijft.
Stap 2: Stel legacy-compatibiliteitsopties in
Document.CompatibilityOptions (een CompatibilityOptions-instantie) bevat tientallen booleaanse schakelaars die specifieke oudere-Word lay-out- en spatiëringsgedragingen reproduceren — bijvoorbeeld GrowAutofit, UseWord2010TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage en SpacingInWholePoints. Stel de individuele eigenschappen die u nodig heeft direct in; OptimizeFor(MsWordVersion) is aanwezig in de klasse maar gooit NotImplementedException in deze build, dus er is geen snelkoppeling die in één keer een volledig versieprofiel toepast.
Stap 3: Configureer afbreekvoorkeuren
Document.HyphenationOptions (een HyphenationOptions instantie) slaat de afbreekvoorkeuren van Word op voor het document: AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps en HyphenationZone. Deze eigenschappen maken een round-trip van het verzoek in het opgeslagen bestand; omdat deze editie geen pagina-indelingsengine heeft, worden de afbreekonderbrekingen zelf berekend door Word wanneer het het bestand opent en pagineert, niet door Aspose.Words FOSS.
Stap 4: Lees en schrijf mail-merge-configuratie
Document.MailMergeSettings (een MailMergeSettings instantie) slaat de mail-merge-configuratie op die in het document is vastgelegd — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord en ViewMergedData — plus Clear() en Clone(). Voor een externe gegevensbron die via Word’s Office Data Source Object-mechanisme is verbonden, exposeert MailMergeSettings.Odso een Odso instantie (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), waarvan de collecties FieldMapDatas en RecipientDatas de veldtoewijzing en ontvangerslijst beschrijven. Het lezen en schrijven van deze opgeslagen configuratie is beschikbaar in deze open-source editie; het uitvoeren van de eigenlijke merge tegen een live gegevensbron is een aparte kwestie buiten de reikwijdte van deze pagina.
Stap 5: Configureer weergave-instellingen van het document
Document.ViewOptions (een ViewOptions instantie) bepaalt hoe Word het bestand weergeeft zodra het is geopend: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries en FormsDesign. Deze eigenschappen zijn opgeslagen voorkeuren die alleen van invloed zijn op de weergave van het document door Word zelf — ze hebben geen invloed op hoe Aspose.Words FOSS het zelf verwerkt.
Stap 6: Pas schrijfbescherming toe
Document.WriteProtection (een WriteProtection instantie) exposeert IsWriteProtected en ReadOnlyRecommended, met SetPassword() om een beschermingswachtwoord in te stellen en ValidatePassword() om een kandidaat-wachtwoord te controleren. Roep SetPassword() aan voordat je IsWriteProtected = true instelt, en gebruik ValidatePassword() in plaats van zelf de ruwe wachtwoord-string op te slaan of te vergelijken.
Veelvoorkomende problemen en oplossingen
CompatibilityOptions.OptimizeFor() throws NotImplementedException. Deze methode is niet geïmplementeerd in deze build. Stel de afzonderlijke CompatibilityOptions boolse eigenschappen die je nodig hebt direct in plaats daarvan.
Changing ViewOptions.ZoomPercent heeft geen zichtbaar effect op de gegenereerde output. ViewOptions is een opgeslagen weergavevoorkeur die Word leest, niet iets wat Aspose.Words FOSS zelf toepast tijdens de verwerking. Geen oplossing nodig — dit is verwacht.
WriteProtection.ValidatePassword() geeft onverwacht terug false. SetPassword() werd nooit aangeroepen, of er was een ander wachtwoord ingesteld. Roep SetPassword() eerst om het beschermde wachtwoord in te stellen vóór validatie.
Mail-merge-configuratie wordt opgeslagen, maar de samenvoeging wordt niet uitgevoerd. MailMergeSettings and Odso slaat alleen de samenvoegingsconfiguratie op; deze open-source editie voert de samenvoeging zelf niet uit. Lees de opgeslagen configuratie en stuur je eigen veldpopulatie-logica daarop aan.
Veelgestelde vragen
Werkt CompatibilityOptions.OptimizeFor()?
Nee — het werpt NotImplementedException in deze build. Stel de individuele CompatibilityOptions eigenschappen die je nodig hebt direct in.
Hoe kan ik een document met een wachtwoord beveiligen tegen bewerkingen?
Roep WriteProtection.SetPassword() aan op Document.WriteProtection, stel vervolgens IsWriteProtected in om bescherming in te schakelen.
Veranderen HyphenationOptions en ViewOptions hoe het document eruitziet wanneer Aspose.Words FOSS het verwerkt?
Nee. Beide zijn opgeslagen voorkeuren die Word zelf toepast wanneer het het bestand opent en weergeeft; deze editie heeft geen pagina-layoutengine die er direct op kan reageren.
Waar vind ik de mail-merge gegevensbronconfiguratie voor een externe gegevensbron?
MailMergeSettings.Odso — de FieldMapDatas en RecipientDatas collecties beschrijven de kolomtoewijzing en de status van ontvangerinclusie.
Wat is het verschil tussen Document.CompatibilityOptions en Document.ViewOptions?
CompatibilityOptions schakelaars reproduceren oudere Word-indeling en spatiëringseigenaardigheden; ViewOptions bepaalt hoe de eigen interface van Word het bestand weergeeft (zoom, opmaaktekens). Geen van beiden wordt berekend door Aspose.Words FOSS zelf.