Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words este o bibliotecă de clasă concepută pentru procesarea pe server-side a documentelor Microsoft Word și suportă câmpuri în următoarele moduri:
În acest articol vom învăța mai multe despre structura câmpului, câmpurile acceptate în Aspose.Words și detalii privind lucrul cu astfel de câmpuri.
Un câmp constă din:

Conținutul care alcătuiește codul câmpului este stocat ca Run noduri între FieldStart și FieldSeparator. Rezultatul câmpului este stocat între nodurile FieldSeparator și FieldEnd și poate fi alcătuit din diferite tipuri de conținut. De obicei câmpul rezultat conține doar text format din Run noduri, totuși este posibil ca FieldEnd nod să fie localizat într-un paragraf complet diferit, și astfel făcând câmpul rezultat cuprins din block level nodes cum ar fi Table și Paragraph noduri.
Iată o vedere cum se stochează un câmp în Aspose.Words folosind exemplul “DocumentExplorer”, care poate fi găsit pe Github.

Când un document este încărcat în Aspose.Words, câmpurile documentului sunt încărcate în Aspose.Words Document Object Model ca un set de componente separate (noduri)." Un singur câmp este încărcat ca o colecție de FieldStart, FieldSeparator și FieldEnd noduri, împreună cu conținutul dintre aceste noduri. Dacă un câmp nu are rezultat de câmp, nu va exista niciun nod FieldSeparator. Toate aceste noduri sunt întotdeauna găsite în linie (ca copii de Paragraph sau SmartTag.")
În Aspose.Words fiecare dintre FieldXXX noduri derivă din FieldChar. Această clasă furnizează o proprietate pentru verificarea tipului de câmp reprezentat de nodul specificat prin proprietatea FieldType. De exemplu FieldType.FieldMergeField reprezintă un câmp de fuziune în document.
Există unele câmpuri particulare care există într-un document Word și nu sunt importate în Aspose.Words ca o colecție de FieldXXX noduri. De exemplu, LINK câmp și INCLUDEPICTURE câmp sunt importate în Aspose.Words ca un Shape obiect. Acest obiect oferă proprietăți pentru a lucra cu datele imaginii, în mod normal stocate în aceste câmpuri. Pentru a importa INCLUDEPICTURE câmp ca FieldXXX noduri opțiunea PreserveIncludePictureField trebuie specificată ca true.
Câmpurile formularelor sunt de asemenea importate în Aspose.Words ca propria lor clasă specială. “Clasa FormField reprezintă un câmp de formular într-un document Word și oferă metode suplimentare specifice unui câmp de formular.”
Calcularea pentru următoarele câmpuri este acceptată în versiunea curentă a Aspose.Words:
ADDRESSBLOCKASKAUTHORAUTONUMAUTONUMLGLAUTONUMOUTAUTOTEXTBARCODECOMMENTSCOMPARECREATEDATEDATABASEDATEDISPLAYBARCODEDOCPROPERTYDOCVARIABLEEDITTIMEEQFILENAMEFILESIZEFILLINFORMCHECKBOXFORMDROPDOWNFORMTEXTGLOSSARYGOTOBUTTONGREETINGLINEHYPERLINKIFIMPORTINCLUDEINCLUDEPICTUREINCLUDETEXTINDEXINFOKEYWORDSLASTSAVEDBYLISTNUMMACROBUTTONMERGEBARCODEMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNOTEREFNUMCHARSNUMPAGESNUMWORDSPAGEPAGEREFPRINTDATEQUOTEREFREVNUMSAVEDATESECTIONSECTIONPAGESSEQSETSHAPESKIPIFSTYLEREFSUBJECTSYMBOLTEMPLATETIMETITLETOATOCUSERADDRESSUSERINITIALSUSERNAMEAspose.Words urmează calea Microsoft Word pentru procesarea câmpurilor și ca rezultat acesta gestionează corect:
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 oferă o implementare foarte serioasă a motorului de formule și acceptă următoarele:
“- operatori aritmetici și logici”:
=(54+4*(6-77)-(5))+(-6-5)/4/5
=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"
referințe la semne de carte:
=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"Următoarele funcții în expresii sunt acceptate: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF și COMPARE câmpuri”Doar unele dintre expresiile IF pe care Aspose.Words le poate calcula cu ușurință ar trebui să vă dea o idee despre cât de puternică este această caracteristică:
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 și TIME câmpuri”Aspose.Words acceptă toate comutatoarele de formatare a datelor și orei disponibile în Microsoft Word, unele exemple sunt:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words impune nicio limită complexității câmpurilor Mail Merge din documentele tale și suportă câmpuri încorporate IF și cu formulă, și poate calcula chiar numele unui câmp de fuziune folosind o formulă.
Unele exemple de Mail Merge câmpuri pe care Aspose.Words le suportă:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True False
să calculeze numele câmpului de fuziune la timp de funcționare:
MERGEFIELD { IF{ MERGEFIELD Value1 } >= { MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELD Value1 } <= { =IF(-2.45 >= 6*{ MERGEFIELD Value2 }, 2, -.45) }Un câmp dintr-un document poate avea comutatoare de formatare care specifică cum ar trebui să fie formatată valoarea rezultată. Aspose.Words suportă următoarele comutatoare de formatare:
Când Aspose.Words calculează un rezultat de câmp, acesta are adesea nevoie să parseze o șir într-un număr sau o valoare dată și, de asemenea, să o formeze înapoi într-un șir.În mod implicit Aspose.Words folosește cultura curentă a fireului pentru a efectua parsarea și formatarea atunci când calculează valorile câmpurilor în timpul actualizării câmpului și mail merge. Sunt și opțiuni oferite în forma clasei FieldOptions, care permite un control mai mare asupra culturii utilizate în timpul actualizării câmpului.
“- în mod implicit proprietatea FieldUpdateCultureSource este setată la CurrentThread, care formatează câmpurile folosind cultura curentă a firului”
Pentru controlul culturii utilizate în timpul calculului câmpului, setaţi pur şi simplu proprietatea Thread.CurrentThread.CurrentCulture la o cultură de alegerea dumneavoastră înainte de invocarea calculului câmpului.
Exemplul următor de cod arată cum se schimbă cultura utilizată în formatarea câmpurilor în timpul actualizării:
Utilizarea culturii curente pentru a formata câmpurile permite unui sistem să controleze în mod ușor și consecvent cum sunt formate toate câmpurile din document în timpul actualizării câmpurilor.
Pe de altă parte, " Microsoft Word formatează fiecare câmp individual pe baza limbii textului găsit în câmp (mai exact, șirurile din codul câmpului) “. Uneori în timpul actualizării câmpurilor acest lucru poate fi comportamentul dorit, de exemplu dacă aveți documente la nivel mondial care conțin conținut format din mai multe limbi diferite și doriți ca fiecare câmp să respecte locale-ul utilizat din text. Aspose.Words suportă, de asemenea, această funcționalitate.
Clasa Document oferă o proprietate FieldOptions care conține membri care pot fi utilizați pentru a controla modul în care câmpurile sunt actualizate în cadrul documentului.
Exemplul de cod următor arată cum să se specifice locul unde cultura folosită pentru formatarea datelor în timpul actualizării câmpului și Mail Merge este ales din:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.