Come lavorare con le impostazioni del documento in .NET
Questa guida mostra come lavorare con le impostazioni del documento a livello di applicazione in Aspose.Words FOSS per .NET: interruttori di compatibilità legacy, preferenze di sillabazione, la configurazione di stampa unione memorizzata, opzioni di visualizzazione e protezione dalla scrittura. Aspose.Words FOSS per .NET è disponibile tramite NuGet o compilando dal sorgente.
Guida passo passo
Passo 1: Ottieni la libreria
Clona il repository e compila Aspose.Words.sln in configurazione Release, quindi aggiungi un riferimento al progetto Aspose.Words.csproj dal tuo progetto .NET, come descritto nel Guida all’installazione. Aggiungi using Aspose.Words; and using Aspose.Words.Settings; all’inizio di qualsiasi file che legge o scrive le impostazioni del documento.
Passo 2: Imposta le opzioni di compatibilità legacy
Document.CompatibilityOptions (un’istanza di CompatibilityOptions) contiene decine di interruttori booleani che replicano comportamenti specifici di layout e spaziatura di versioni precedenti di Word — ad esempio GrowAutofit, UseWord2010TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage e SpacingInWholePoints. Imposta direttamente le singole proprietà di cui hai bisogno; OptimizeFor(MsWordVersion) è presente nella classe ma genera NotImplementedException in questa build, quindi non esiste una scorciatoia che applichi un profilo di versione completo in una volta.
Passo 3: Configura le preferenze di sillabazione
Document.HyphenationOptions (una istanza di HyphenationOptions) memorizza le preferenze di sillabazione di Word per il documento: AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps e HyphenationZone. Queste proprietà fanno il round-trip della richiesta nel file salvato; poiché questa edizione non dispone di un motore di layout di pagina, le interruzioni di sillabazione vengono calcolate da Word quando apre e impagina il file, non da Aspose.Words FOSS.
Passo 4: Leggi e scrivi la configurazione della stampa unione
Document.MailMergeSettings (una istanza di MailMergeSettings) memorizza la configurazione della stampa unione registrata nel documento — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord e ViewMergedData — oltre a Clear() e Clone(). Per una fonte dati esterna collegata tramite il meccanismo Office Data Source Object di Word, MailMergeSettings.Odso espone un’istanza di Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), le cui collezioni FieldMapDatas e RecipientDatas descrivono la mappatura dei campi e l’elenco dei destinatari. La lettura e la scrittura di questa configurazione memorizzata è disponibile in questa edizione open-source; l’esecuzione della stampa unione stessa contro una fonte dati attiva è una questione separata al di fuori dell’ambito di questa pagina.
Passo 5: Configura le impostazioni di visualizzazione del documento
Document.ViewOptions (una istanza di ViewOptions) controlla come Word visualizza il file una volta aperto: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries e FormsDesign. Queste proprietà sono preferenze memorizzate che influenzano solo la visualizzazione del documento da parte di Word — non hanno alcun impatto su come Aspose.Words FOSS lo elabora.
Passo 6: Applica la protezione in scrittura
Document.WriteProtection (una istanza di WriteProtection) espone IsWriteProtected e ReadOnlyRecommended, con SetPassword() per impostare una password di protezione e ValidatePassword() per verificare una password candidata rispetto a essa. Chiama SetPassword() prima di impostare IsWriteProtected = true e usa ValidatePassword() invece di memorizzare o confrontare direttamente la stringa della password.
Problemi comuni e soluzioni
CompatibilityOptions.OptimizeFor() throws NotImplementedException. Questo metodo non è implementato in questa build. Imposta le singole CompatibilityOptions proprietà boolean che ti servono direttamente.
Changing ViewOptions.ZoomPercent non ha alcun effetto visibile sull’output generato. ViewOptions è una preferenza di visualizzazione memorizzata letta da Word, non qualcosa che Aspose.Words FOSS applica durante l’elaborazione. Non è necessario alcun intervento — è il comportamento previsto.
WriteProtection.ValidatePassword() ritorna inaspettatamente false. SetPassword() non è mai stata chiamata, o è stata impostata una password diversa. Chiama SetPassword() prima per stabilire la password protetta prima della convalida.
La configurazione di stampa unione viene salvata ma l’unione non viene eseguita. MailMergeSettings and Odso memorizza solo la configurazione di stampa unione; questa edizione open-source non esegue l’unione stessa. Leggi la configurazione memorizzata e guida la tua logica di popolamento dei campi su di essa.
Domande frequenti
Funziona CompatibilityOptions.OptimizeFor()?
No — genera NotImplementedException in questa build. Imposta direttamente le singole proprietà CompatibilityOptions di cui hai bisogno.
Come proteggere con password un documento dalle modifiche?
Chiama WriteProtection.SetPassword() su Document.WriteProtection, poi imposta IsWriteProtected per abilitare la protezione.
I HyphenationOptions e i ViewOptions modificano l’aspetto del documento quando Aspose.Words FOSS lo elabora?
No. Entrambi sono preferenze memorizzate che Word stesso applica quando apre e visualizza il file; questa edizione non dispone di un motore di layout di pagina per agire su di esse direttamente.
Dove trovo la configurazione della fonte dati di stampa unione per una fonte dati esterna?
MailMergeSettings.Odso — le sue collezioni FieldMapDatas e RecipientDatas descrivono la mappatura delle colonne e lo stato di inclusione dei destinatari.
Qual è la differenza tra Document.CompatibilityOptions e Document.ViewOptions?
CompatibilityOptions switches riproducono il layout e le stranezze di spaziatura delle versioni più vecchie di Word; ViewOptions controlla come l’interfaccia di Word visualizza il file (zoom, segni di formattazione). Nessuno dei due è calcolato da Aspose.Words FOSS stesso.