Lavorare con le impostazioni del documento
Lavorare con le impostazioni del documento
Oltre al contenuto, un documento Word contiene impostazioni a livello di applicazione – interruttori di compatibilità legacy, preferenze di sillabazione, la configurazione di mail-merge memorizzata, opzioni di visualizzazione e stato di protezione da scrittura. Aspose.Words FOSS per .NET le espone tramite il Aspose.Words.Settings namespace e una manciata di proprietà su Document. Questa pagina copre ogni gruppo di impostazioni e ciò che controlla e ciò che non controlla.
Opzioni di compatibilità
Document.CompatibilityOptions è un’istanza CompatibilityOptions che contiene decine di interruttori booleani che riproducono comportamenti specifici di layout e spaziatura delle versioni più vecchie di Word — ad esempio GrowAutofit, UseWord2010TableStyleRules, UseWord2002TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage, SpacingInWholePoints, UseFELayout e BalanceSingleByteDoubleByteWidth. Imposta direttamente le proprietà di cui hai bisogno per corrispondere alle particolarità di rendering di una specifica versione di Word negli strumenti a valle che leggono il documento.
Preferenze di sillabazione
Document.HyphenationOptions è un’istanza HyphenationOptions (AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps, HyphenationZone) che memorizza le preferenze di sillabazione di Word per il documento. Queste proprietà effettuano un round-trip della richiesta; poiché questa edizione non include il motore di impaginazione, Aspose.Words FOSS non calcola autonomamente le interruzioni di sillabazione — Word le applica quando apre e impagina il file.
Configurazione di stampa unione
Document.MailMergeSettings è un’istanza MailMergeSettings che memorizza la configurazione di mail-merge registrata nel documento: MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord e ViewMergedData, più Clear() e Clone(). Per le fonti dati esterne collegate tramite il meccanismo Office Data Source Object di Word, MailMergeSettings.Odso espone un’istanza Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames) il cui FieldMapDatas (OdsoFieldMapDataCollection di OdsoFieldMapData: Name, MappedName, Column, Type) e RecipientDatas (OdsoRecipientDataCollection di OdsoRecipientData: Active, Column, Hash, UniqueTag) descrivono la mappatura dei campi e l’elenco dei destinatari.
Impostazioni visualizzazione documento
Document.ViewOptions è un’istanza ViewOptions che controlla come Word visualizza il file quando viene aperto: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries e FormsDesign. Queste proprietà influenzano solo la visualizzazione del documento da parte di Word — non hanno alcun effetto su come Aspose.Words FOSS elabora il file.
Protezione da scrittura
Document.WriteProtection è un’istanza WriteProtection (IsWriteProtected, ReadOnlyRecommended) con SetPassword() per impostare una password di protezione e ValidatePassword() per verificare una password candidata.
Unità di misura
L’enumerazione MeasurementUnits specifica l’unità di misura che Word deve utilizzare nella sua interfaccia per un documento.
Suggerimenti e buone pratiche
CompatibilityOptions.OptimizeFor(MsWordVersion)è presente nella classe ma la sua implementazione non è completa in questa build – generaNotImplementedException. Imposta direttamente le singole proprietà booleaneCompatibilityOptionsdi cui hai bisogno invece di fare affidamento suOptimizeForper applicare un intero profilo di versione in una volta.MailMergeSettingsandOdsomemorizzare il mail-merge configuration che è stato registrato nel documento – la lettura e la scrittura di quella configurazione sono supportate, ma l’esecuzione di una mail merge (popolamento dei campi da una fonte dati live) non è inclusa in questa edizione open-source.HyphenationOptionseViewOptionssono entrambe preferenze di visualizzazione/UI che Word applica di per sé – non aspettarti che chiamareDocument.Save()cambi il modo in cui il testo a capo o appare in base a queste impostazioni, poiché questa edizione non include il motore di layout di pagina.- Chiama
WriteProtection.SetPassword()prima di abilitareIsWriteProtected, e usaValidatePassword()per verificare una password candidata invece di memorizzare o confrontare la stringa grezza tu stesso. CompatibilityOptions,HyphenationOptions,MailMergeSettings,ViewOptionseWriteProtectionsono tutti accessibili direttamente daDocument– non è necessario cercare nell’albero dei nodi per trovarli.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
CompatibilityOptions.OptimizeFor() lancia NotImplementedException | Non implementato in questa build | Imposta invece le singole proprietà booleane CompatibilityOptions |
| La stampa unione non popola il documento con i dati | MailMergeSettings memorizza solo la configurazione di stampa unione; l’esecuzione non è inclusa in questa edizione | Leggi la configurazione della sorgente dati memorizzata e gestisci la tua logica di popolamento dei campi, oppure utilizza la versione commerciale Aspose.Words per .NET |
Modificare ViewOptions.ZoomPercent non ha alcun effetto visibile durante l’elaborazione del documento | ViewOptions influisce solo sulla visualizzazione di Word, non sull’elaborazione di Aspose.Words FOSS | Comportamento atteso – nessuna correzione necessaria |
WriteProtection.ValidatePassword() restituisce false inaspettatamente | SetPassword() non è stato chiamato per primo, o è stata impostata una password diversa | Chiama SetPassword() per stabilire la password protetta prima della convalida |
FAQ
Posso usare Aspose.Words FOSS per eseguire una stampa unione reale?
No. MailMergeSettings e Odso ti consentono di leggere e scrivere la configurazione di unione memorizzata in un documento, ma l’esecuzione di una stampa unione – popolamento dei campi da una fonte dati – non è inclusa in questa edizione open-source.
Funziona CompatibilityOptions.OptimizeFor()?
No – genera NotImplementedException in questa build. Imposta direttamente le singole proprietà CompatibilityOptions di cui hai bisogno.
Come posso proteggere con password un documento dalle modifiche?
Chiama WriteProtection.SetPassword() su Document.WriteProtection, poi imposta IsWriteProtected per abilitare la protezione.
I HyphenationOptions e ViewOptions cambiano il layout del documento?
No. Entrambi sono preferenze memorizzate che Microsoft Word applica quando apre e visualizza il file. Questa edizione non include il motore di layout di pagina, quindi queste impostazioni passano attraverso senza che Aspose.Words FOSS calcoli il layout da esse.
API Reference Riepilogo
| Classe / Enum | Descrizione |
|---|---|
CompatibilityOptions | Commutatori legacy di layout/spaziatura della versione Word, tramite Document.CompatibilityOptions |
Compatibility | Enum che nomina le singole opzioni di compatibilità |
MsWordVersion | Valori della versione Word utilizzati da CompatibilityOptions.OptimizeFor() |
HyphenationOptions | Preferenze di sillabazione, tramite Document.HyphenationOptions |
MailMergeSettings | Configurazione di mail-merge memorizzata, tramite Document.MailMergeSettings |
Odso | Impostazioni di connessione dell’Office Data Source Object per il mail merge |
OdsoFieldMapData / OdsoFieldMapDataCollection | Mappatura colonna-campo di unione per una origine dati ODSO |
OdsoRecipientData / OdsoRecipientDataCollection | Stato di inclusione/esclusione per destinatario per il mail merge |
ViewOptions | Preferenze di visualizzazione di Word (zoom, segni di formattazione), tramite Document.ViewOptions |
WriteProtection | Stato di protezione da scrittura del documento, tramite Document.WriteProtection |
MeasurementUnits | Unità di misura che Word dovrebbe utilizzare nell’interfaccia |