Werken met Documentinstellingen
Werken met documentinstellingen
Naast de inhoud bevat een Word-document toepassingsniveau-instellingen – legacy-compatibiliteitsschakelaars, voorkeuren voor woordafbreking, de opgeslagen mail-merge-configuratie, weergave-opties en de status van schrijfbeveiliging. Aspose.Words FOSS voor .NET legt deze bloot via de Aspose.Words.Settings namespace en een handvol eigenschappen op Document. Deze pagina behandelt elke instellingen-groep en wat deze wel en niet regelt.
Compatibiliteitsopties
Document.CompatibilityOptions is een CompatibilityOptions instantie die tientallen booleaanse schakelaars bevat die specifieke oudere Word-lay-out- en spatiëringsgedragingen reproduceren – bijvoorbeeld GrowAutofit, UseWord2010TableStyleRules, UseWord2002TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage, SpacingInWholePoints, UseFELayout en BalanceSingleByteDoubleByteWidth. Stel de eigenschappen die je nodig hebt direct in om de weergave-eigenaardigheden van een specifieke Word-versie te evenaren in downstream-gereedschap dat het document leest.
Afbreekvoorkeuren
Document.HyphenationOptions is een HyphenationOptions instantie (AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps, HyphenationZone) die de afbreekvoorkeuren van Word voor het document opslaat. Deze eigenschappen doorlopen de aanvraag heen en weer; omdat deze editie de paginalay-out-engine niet bevat, berekent Aspose.Words FOSS zelf geen afbreekpunten – Word past ze toe wanneer het het bestand opent en pagineert.
Mail-merge-configuratie
Document.MailMergeSettings is een MailMergeSettings instantie die de mail-merge-configuratie opslaat die is vastgelegd in het document: MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord en ViewMergedData, plus Clear() en Clone(). Voor externe gegevensbronnen die via het Office Data Source Object-mechanisme van Word zijn verbonden, geeft MailMergeSettings.Odso een Odso instantie weer (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames) waarvan de FieldMapDatas (OdsoFieldMapDataCollection van OdsoFieldMapData: Name, MappedName, Column, Type) en RecipientDatas (OdsoRecipientDataCollection van OdsoRecipientData: Active, Column, Hash, UniqueTag) de veldtoewijzing en ontvangerslijst beschrijven.
Documentweergave-instellingen
Document.ViewOptions is een ViewOptions instantie die bepaalt hoe Word het bestand weergeeft wanneer het wordt geopend: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries en FormsDesign. Deze eigenschappen hebben alleen invloed op de weergave van het document door Word zelf – ze hebben geen effect op hoe Aspose.Words FOSS het document verwerkt.
Schrijfbescherming
Document.WriteProtection is een WriteProtection instantie (IsWriteProtected, ReadOnlyRecommended) met SetPassword() om een beveiligingswachtwoord in te stellen en ValidatePassword() om een voorgesteld wachtwoord te controleren.
Meeteenheden
De MeasurementUnits enum geeft de meeteenheid aan die Word in zijn interface voor een document moet gebruiken.
Tips en best practices
CompatibilityOptions.OptimizeFor(MsWordVersion)is aanwezig op de klasse maar de implementatie is niet compleet in deze build – het gooitNotImplementedException. Stel de individueleCompatibilityOptionsboolean-eigenschappen die je nodig hebt direct in plaats van te vertrouwen opOptimizeForom in één keer een volledig versieprofiel toe te passen.MailMergeSettingsandOdsoopslaan van de mail-merge configuration die in het document is vastgelegd – lezen en schrijven van die configuratie wordt ondersteund, maar het uitvoeren van een mail merge (velden vullen vanuit een live gegevensbron) is niet opgenomen in deze open-source-editie.HyphenationOptionsenViewOptionszijn beide weergave-/UI-voorkeuren die Word zelf toepast – verwacht niet dat het aanroepen vanDocument.Save()de manier verandert waarop de tekst wordt afgebroken of verschijnt op basis van deze instellingen, aangezien deze editie de paginalay-out-engine niet bevat.- Roep
WriteProtection.SetPassword()aan voordat jeIsWriteProtectedinschakelt, en gebruikValidatePassword()om een kandidaat-wachtwoord te controleren in plaats van zelf de ruwe tekenreeks op te slaan of te vergelijken. CompatibilityOptions,HyphenationOptions,MailMergeSettings,ViewOptionsenWriteProtectionzijn allemaal rechtstreeks toegankelijk vanuitDocument– er is geen behoefte om de knooppuntboom ernaar te doorzoeken.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
CompatibilityOptions.OptimizeFor() gooit NotImplementedException | Niet geïmplementeerd in deze build | Stel in plaats daarvan de individuele CompatibilityOptions booleaanse eigenschappen in |
| Mail merge vult het document niet met gegevens | MailMergeSettings slaat alleen de samenvoegingsconfiguratie op; uitvoering is niet inbegrepen in deze editie | Lees de opgeslagen gegevensbronconfiguratie en stuur je eigen veldvullingslogica aan, of gebruik de commerciële Aspose.Words voor .NET |
Het wijzigen van ViewOptions.ZoomPercent heeft geen zichtbaar effect tijdens het verwerken van het document | ViewOptions beïnvloedt alleen de weergave van Word, niet de eigen verwerking van Aspose.Words FOSS | Verwacht gedrag – geen correctie nodig |
WriteProtection.ValidatePassword() geeft onverwacht false terug | SetPassword() werd niet eerst aangeroepen, of er is een ander wachtwoord ingesteld | Roep SetPassword() aan om het beschermde wachtwoord vast te stellen voordat u valideert |
FAQ
Kan ik Aspose.Words FOSS gebruiken om een echte mail merge uit te voeren?
Nee. MailMergeSettings en Odso stellen je in staat de samenvoegconfiguratie die in een document is opgeslagen te lezen en te schrijven, maar het uitvoeren van een mail merge – velden vullen vanuit een gegevensbron – is niet inbegrepen in deze open-source editie.
Werkt CompatibilityOptions.OptimizeFor()?
Nee – het gooit NotImplementedException in deze build. Stel in plaats daarvan de afzonderlijke 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 wordt opgemaakt?
Nee. Beide zijn opgeslagen voorkeuren die Microsoft Word toepast wanneer het het bestand opent en weergeeft. Deze editie bevat de pagina-indelingsengine niet, dus deze instellingen worden doorgegeven zonder dat Aspose.Words FOSS zelf de lay-out ervan berekent.
API Reference Samenvatting
| Klasse / Enum | Beschrijving |
|---|---|
CompatibilityOptions | Legacy Word-versie lay-out-/spatiëringsschakelaars, via Document.CompatibilityOptions |
Compatibility | Enum die de individuele compatibiliteitsopties benoemt |
MsWordVersion | Word-versiewaarden gebruikt door CompatibilityOptions.OptimizeFor() |
HyphenationOptions | Afbreekvoorkeuren, via Document.HyphenationOptions |
MailMergeSettings | Opgeslagen mail-merge configuratie, via Document.MailMergeSettings |
Odso | Office Data Source Object-verbindinginstellingen voor mail merge |
OdsoFieldMapData / OdsoFieldMapDataCollection | Kolom-naar-merge-veld toewijzing voor een ODSO-gegevensbron |
OdsoRecipientData / OdsoRecipientDataCollection | Per-ontvanger inclusie-/exclusietoestand voor een mail merge |
ViewOptions | Weergavevoorkeuren van Word (zoom, opmaaktekens), via Document.ViewOptions |
WriteProtection | Schrijfbeveiligingsstatus van document, via Document.WriteProtection |
MeasurementUnits | Mateneenheid die Word in de interface moet gebruiken |