Trabalhando com Configurações de Documento

Trabalhando com Configurações de Documento

Trabalhando com Configurações de Documento

Além do conteúdo, um documento Word contém configurações de nível de aplicativo – interruptores de compatibilidade legada, preferências de hifenização, a configuração de mala direta armazenada, opções de visualização e o estado de proteção contra gravação. Aspose.Words FOSS para .NET expõe esses através do Aspose.Words.Settings namespace e um conjunto de propriedades em Document. Esta página abrange cada grupo de configurações e o que ele controla e o que não controla.


Opções de Compatibilidade

Document.CompatibilityOptions é uma instância de CompatibilityOptions que 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, UseWord2002TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage, SpacingInWholePoints, UseFELayout e BalanceSingleByteDoubleByteWidth. Defina diretamente as propriedades de que precisar para corresponder às particularidades de renderização de uma versão específica do Word em ferramentas subsequentes que leem o documento.


Preferências de Hifenização

Document.HyphenationOptions é uma instância de HyphenationOptions (AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps, HyphenationZone) que armazena as preferências de hifenização do Word para o documento. Essas propriedades dão suporte ao ciclo completo da solicitação; como esta edição não inclui o motor de layout de página, Aspose.Words FOSS não calcula os pontos de hifenização por si — o Word os aplica ao abrir e paginar o arquivo.


Configuração de Mala Direta

Document.MailMergeSettings é uma instância MailMergeSettings que armazena a configuração de mala-directa registrada no documento: MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord e ViewMergedData, além de Clear() e Clone(). Para fontes de dados externas conectadas através do mecanismo Office Data Source Object do Word, MailMergeSettings.Odso expõe uma instância Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames) cujo FieldMapDatas (OdsoFieldMapDataCollection de OdsoFieldMapData: Name, MappedName, Column, Type) e RecipientDatas (OdsoRecipientDataCollection de OdsoRecipientData: Active, Column, Hash, UniqueTag) descrevem o mapeamento de campos e a lista de destinatários.


Configurações de Exibição do Documento

Document.ViewOptions é uma instância ViewOptions que controla como o Word exibe o arquivo quando ele é aberto: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries e FormsDesign. Essas propriedades afetam apenas a exibição do documento pelo próprio Word — não têm efeito sobre como o Aspose.Words FOSS processa o arquivo.


Proteção contra gravação

Document.WriteProtection é uma instância WriteProtection (IsWriteProtected, ReadOnlyRecommended) com SetPassword() para definir uma senha de proteção e ValidatePassword() para verificar uma senha candidata contra ela.


Unidades de Medida

O enum MeasurementUnits especifica a unidade de medida que o Word deve usar em sua interface para um documento.


Dicas e Melhores Práticas

  • CompatibilityOptions.OptimizeFor(MsWordVersion) está presente na classe, mas sua implementação não está completa nesta compilação — ele lança NotImplementedException. Defina as propriedades booleanas individuais CompatibilityOptions de que precisa diretamente, em vez de confiar em OptimizeFor para aplicar um perfil de versão completo de uma só vez.
  • MailMergeSettings and Odso armazenar a mala direta configuration que foi registrado no documento – ler e gravar essa configuração é suportado, mas executar uma mala direta (preencher campos a partir de uma fonte de dados ao vivo) não está incluído nesta edição de código aberto.
  • HyphenationOptions e ViewOptions são ambas preferências de exibição/UI que o próprio Word aplica — não espere que chamar Document.Save() altere como o texto quebra ou aparece com base nessas configurações, já que esta edição não inclui o mecanismo de layout de página.
  • Chame WriteProtection.SetPassword() antes de habilitar IsWriteProtected e use ValidatePassword() para verificar uma senha candidata em vez de armazenar ou comparar a string bruta você mesmo.
  • CompatibilityOptions, HyphenationOptions, MailMergeSettings, ViewOptions e WriteProtection são todos acessíveis diretamente a partir de Document — não há necessidade de procurar na árvore de nós por eles.

Problemas Comuns

ProblemaCausaCorreção
CompatibilityOptions.OptimizeFor() lança NotImplementedExceptionNão implementado nesta buildDefina as propriedades booleanas individuais de CompatibilityOptions em vez disso
Mail merge não preenche o documento com dadosMailMergeSettings apenas armazena a configuração de mesclagem; a execução não está incluída nesta ediçãoLeia a configuração da fonte de dados armazenada e conduza sua própria lógica de preenchimento de campos, ou use a versão comercial Aspose.Words para .NET
Alterar ViewOptions.ZoomPercent não tem efeito visível ao processar o documentoViewOptions afeta apenas a exibição do Word, não o próprio processamento da Aspose.Words FOSSComportamento esperado – nenhuma correção necessária
WriteProtection.ValidatePassword() retorna false inesperadamenteSetPassword() não foi chamado primeiro, ou uma senha diferente foi definidaChame SetPassword() para estabelecer a senha protegida antes de validar

FAQ

Posso usar Aspose.Words FOSS para executar uma mala direta real?

Não. MailMergeSettings e Odso permitem que você leia e escreva a configuração de mesclagem armazenada em um documento, mas executar uma mala direta – preenchendo campos a partir de uma fonte de dados – não está incluído nesta edição de código aberto.

O CompatibilityOptions.OptimizeFor() funciona?

Não – ele gera NotImplementedException nesta compilação. Defina diretamente as propriedades individuais de CompatibilityOptions de que precisa.

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 disposição do documento?

Não. Ambos são preferências armazenadas que o Microsoft Word aplica ao abrir e exibir o arquivo. Esta edição não inclui o mecanismo de layout de página, portanto essas configurações são repassadas sem que o Aspose.Words FOSS calcule o layout a partir delas.


API Reference Resumo

Classe / EnumDescrição
CompatibilityOptionsComutadores legados de layout/espaçamento da versão do Word, via Document.CompatibilityOptions
CompatibilityEnum que nomeia as opções individuais de compatibilidade
MsWordVersionValores de versão do Word usados por CompatibilityOptions.OptimizeFor()
HyphenationOptionsPreferências de hifenização, via Document.HyphenationOptions
MailMergeSettingsConfiguração de mala direta armazenada, via Document.MailMergeSettings
OdsoConfigurações de conexão do Office Data Source Object para mala direta
OdsoFieldMapData / OdsoFieldMapDataCollectionMapeamento de coluna para campo de mesclagem para uma fonte de dados ODSO
OdsoRecipientData / OdsoRecipientDataCollectionEstado de inclusão/exclusão por destinatário para uma mala direta
ViewOptionsPreferências de exibição do Word (zoom, marcas de formatação), via Document.ViewOptions
WriteProtectionEstado de proteção contra gravação do documento, via Document.WriteProtection
MeasurementUnitsUnidade de medida que o Word deve usar em sua interface

Ver também

 Português