Como Trabalhar com Configurações de Documento em .NET

Como Trabalhar com Configurações de Documento em .NET

Este guia mostra como trabalhar com as configurações de documento em nível de aplicação no Aspose.Words FOSS para .NET: interruptores de compatibilidade legada, preferências de hifenização, a configuração armazenada de mala direta, opções de visualização e proteção contra gravação. Aspose.Words FOSS para .NET está disponível via NuGet ou compilando a partir do código-fonte.

Guia passo a passo

Passo 1: Obter a biblioteca

Clone o repositório e compile Aspose.Words.sln na configuração Release, então adicione uma referência de projeto a Aspose.Words.csproj do seu próprio projeto .NET, conforme descrito no guia de Instalação. Adicione using Aspose.Words; and using Aspose.Words.Settings; no topo de qualquer arquivo que leia ou escreva configurações de documento.


Passo 2: Definir opções de compatibilidade legada

Document.CompatibilityOptions (uma instância de CompatibilityOptions) contém dezenas de interruptores booleanos que reproduzem comportamentos específicos de layout e espaçamento de versões mais antigas do Word — por exemplo GrowAutofit, UseWord2010TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage e SpacingInWholePoints. Defina diretamente as propriedades individuais que precisar; OptimizeFor(MsWordVersion) está presente na classe, mas lança NotImplementedException nesta compilação, portanto não existe atalho que aplique um perfil de versão completo de uma só vez.


Etapa 3: Configurar Preferências de Hifenização

Document.HyphenationOptions (uma instância HyphenationOptions) armazena as preferências de hifenização do Word para o documento: AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps e HyphenationZone. Essas propriedades mantêm a solicitação ao longo do ciclo no arquivo salvo; como esta edição não possui motor de layout de página, as quebras de hifenização são calculadas pelo Word ao abrir e paginar o arquivo, não por Aspose.Words FOSS.


Etapa 4: Ler e Gravar Configuração de Mala Direta

Document.MailMergeSettings (uma instância MailMergeSettings) armazena a configuração de mala direta registrada no documento — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord e ViewMergedData — além de Clear() e Clone(). Para uma fonte de dados externa conectada por meio do mecanismo Office Data Source Object do Word, MailMergeSettings.Odso expõe uma instância Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), cujas coleções FieldMapDatas e RecipientDatas descrevem o mapeamento de campos e a lista de destinatários. Ler e gravar essa configuração armazenada está disponível nesta edição de código aberto; executar a mesclagem propriamente dita contra uma fonte de dados ao vivo é uma preocupação separada fora do escopo desta página.


Etapa 5: Configurar Configurações de Visualização do Documento

Document.ViewOptions (uma instância ViewOptions) controla como o Word exibe o arquivo ao ser aberto: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries e FormsDesign. Essas propriedades são preferências armazenadas que afetam apenas a exibição do documento pelo próprio Word — não influenciam como o Aspose.Words FOSS processa o documento.


Etapa 6: Aplicar Proteção de Escrita

Document.WriteProtection (uma instância WriteProtection) expõe IsWriteProtected e ReadOnlyRecommended, com SetPassword() para estabelecer uma senha de proteção e ValidatePassword() para verificar uma senha candidata contra ela. Chame SetPassword() antes de definir IsWriteProtected = true, e use ValidatePassword() em vez de armazenar ou comparar a string de senha bruta você mesmo.

Problemas Comuns e Correções

CompatibilityOptions.OptimizeFor() throws NotImplementedException. Este método não está implementado nesta compilação. Defina as CompatibilityOptions propriedades booleanas que você precisa diretamente, em vez disso.

Changing ViewOptions.ZoomPercent não tem efeito visível na saída gerada. ViewOptions é uma preferência de exibição armazenada lida pelo Word, não algo que o Aspose.Words FOSS aplica durante o processamento. Nenhum conserto necessário — isso é esperado.

WriteProtection.ValidatePassword() retorna inesperadamente false. SetPassword() nunca foi chamado, ou uma senha diferente foi configurada. Chame SetPassword() primeiro para estabelecer a senha protegida antes de validar.

A configuração de mala direta é salva, mas a mesclagem não é executada. MailMergeSettings and Odso armazena apenas a configuração da mesclagem; esta edição de código aberto não executa a mesclagem propriamente dita. Leia a configuração armazenada e conduza sua própria lógica de preenchimento de campos com base nela.

Perguntas Frequentes

O CompatibilityOptions.OptimizeFor() funciona?

Não — ele gera NotImplementedException nesta compilação. Defina as propriedades individuais CompatibilityOptions que você precisa diretamente.

Como protejo um documento com senha contra edições?

Chame WriteProtection.SetPassword() em Document.WriteProtection, então defina IsWriteProtected para habilitar a proteção.

Os HyphenationOptions e ViewOptions alteram a aparência do documento quando o Aspose.Words FOSS o processa?

Não. Ambos são preferências armazenadas que o próprio Word aplica ao abrir e exibir o arquivo; esta edição não possui um mecanismo de layout de página para agir sobre eles diretamente.

Onde encontro a configuração da fonte de dados de mail-merge para uma fonte de dados externa?

MailMergeSettings.Odso — suas coleções FieldMapDatas e RecipientDatas descrevem o mapeamento de colunas e o estado de inclusão dos destinatários.

Qual é a diferença entre Document.CompatibilityOptions e Document.ViewOptions?

CompatibilityOptions switches reproduzem o layout e as peculiaridades de espaçamento de versões antigas do Word; ViewOptions controla como a própria interface do Word exibe o arquivo (zoom, marcas de formatação). Nenhum deles é calculado pelo próprio Aspose.Words FOSS.

Ver também

 Português