Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words é uma biblioteca de classes projetada para processamento de documentos Microsoft Word no servidor e oferece suporte a campos das seguintes maneiras:
Neste artigo, aprenderemos mais sobre a estrutura dos campos, os campos suportados no Aspose.Words e detalhes de como trabalhar com tais campos.
Um campo consiste em:

O conteúdo que compõe o código do campo é armazenado como nós Run entre o FieldStart e o FieldSeparator. O resultado do campo é armazenado entre os nós FieldSeparator e FieldEnd e pode ser composto por vários tipos de conteúdo. Normalmente o resultado do campo contém apenas texto composto por nós Run, porém é possível que o nó FieldEnd esteja localizado em um parágrafo completamente diferente, tornando o resultado do campo composto também por Níveis lógicos de nós em um documento como Table e Paragraph nós.
Aqui está uma visão de como um campo é armazenado em Aspose.Words usando o exemplo “DocumentExplorer” que pode ser encontrado em GitHub.

Quando um documento é carregado no Aspose.Words, os campos do documento são carregados no Aspose.Words Document Object Model (DOM) como um conjunto de componentes separados (nós). Um único campo é carregado como uma coleção de nós FieldStart, FieldSeparator e FieldEnd junto com o conteúdo entre esses nós. Se um campo não tiver um resultado de campo, não haverá nó FieldSeparator. Todos esses nós são sempre encontrados em linha (como filhos de Paragraph ou SmartTag.
No Aspose.Words, cada um dos nós FieldXXX deriva de FieldChar. Esta classe fornece uma propriedade para verificar o tipo de campo representado pelo nó especificado através da propriedade FieldType. Por exemplo, FieldType.FieldMergeField representa um campo de mesclagem no documento.
Existem alguns campos específicos em um documento do Word que não são importados para Aspose.Words como uma coleção de nós FieldXXX. Por exemplo, o campo LINK e o campo INCLUDEPICTURE são importados para Aspose.Words como um objeto Shape. Este objeto fornece propriedades para trabalhar com os dados de imagem normalmente armazenados nesses campos. Para importar campos INCLUDEPICTURE como nós FieldXXX, a opção PreserveIncludePictureField deve ser especificada como true.
Os campos do formulário também são importados para o Aspose.Words como sua própria classe especial. A classe FormField representa um campo de formulário em um documento do Word e fornece métodos adicionais específicos de um campo de formulário.
O cálculo dos seguintes campos é suportado na versão atual do Aspose.Words:
ADDRESSBLOCKASKAUTHORAUTONUMAUTONUMLGLAUTONUMOUTAUTOTEXTBARCODECOMMENTSCOMPARECREATEDATEDATABASEDATEDISPLAYBARCODEDOCPROPERTYDOCVARIABLEEDITTIMEEQFILENAMEFILESIZEFILLINFORMCHECKBOXFORMDROPDOWNFORMTEXTGLOSSARYGOTOBUTTONGREETINGLINEHYPERLINKIFIMPORTINCLUDEINCLUDEPICTUREINCLUDETEXTINDEXINFOKEYWORDSLASTSAVEDBYLISTNUMMACROBUTTONMERGEBARCODEMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNOTEREFNUMCHARSNUMPAGESNUMWORDSPAGEPAGEREFPRINTDATEQUOTEREFREVNUMSAVEDATESECTIONSECTIONPAGESSEQSETSHAPESKIPIFSTYLEREFSUBJECTSYMBOLTEMPLATETIMETITLETOATOCUSERADDRESSUSERINITIALSUSERNAMEAspose.Words segue a forma como o Microsoft Word processa os campos e como resultado ele trata corretamente:
IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words fornece uma implementação muito séria do mecanismo de fórmula e oferece suporte ao seguinte:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"As seguintes funções em expressões são suportadas: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF e COMPAREApenas algumas das expressões IF que o Aspose.Words pode calcular facilmente devem dar uma ideia de quão poderoso é esse recurso:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE e TIMEAspose.Words suporta todas as opções de formatação de data e hora disponíveis em Microsoft Word, alguns exemplos são:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words não impõe limites à complexidade dos campos Mail Merge em seus documentos e oferece suporte a campos IF e de fórmula aninhados e pode até calcular o nome do campo de mesclagem usando uma fórmula.
Alguns exemplos de campos Mail Merge compatíveis com Aspose.Words:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }Um campo em um documento pode ter opções de formatação que especificam como o valor resultante deve ser formatado. Aspose.Words oferece suporte às seguintes opções de formato:
Quando o Aspose.Words calcula o resultado de um campo, muitas vezes ele precisa analisar uma string em um número ou valor de data e também formatá-la de volta para uma string. Por padrão, o Aspose.Words usa a cultura de thread atual para realizar análise e formatação ao calcular valores de campo durante a atualização do campo e mail merge. Também existem opções fornecidas na forma de classe FieldOptions que permitem maior controle sobre qual cultura é usada durante a atualização do campo.
Para controlar a cultura usada durante o cálculo do campo, basta definir a propriedade Thread.CurrentThread.CurrentCulture para uma cultura de sua escolha antes de invocar o cálculo do campo.
O exemplo de código a seguir mostra como alterar a cultura usada na formatação de campos durante a atualização:
Usar a cultura atual para formatar campos permite que um sistema controle de forma fácil e consistente como todos os campos do documento são formatados durante a atualização do campo.
Por outro lado, o Microsoft Word formata cada campo individual com base no idioma do texto encontrado no campo (especificamente, as execuções do código do campo). Às vezes, durante a atualização do campo, esse pode ser o comportamento desejado, por exemplo, se você tiver documentos globalizados contendo conteúdo composto de vários idiomas diferentes e quiser que cada campo respeite a localidade usada no texto. Aspose.Words também oferece suporte a essa funcionalidade.
A classe Document fornece uma propriedade FieldOptions que contém membros que podem ser usados para controlar como os campos são atualizados no documento.
O exemplo de código a seguir mostra como especificar onde a cultura usada para formatação de data durante a atualização do campo e Mail Merge é escolhida:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.