Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words je knihovna tříd určená pro zpracování dokumentů Microsoft Word na straně serveru a podporuje pole následujícími způsoby:
V tomto článku se dozvíme více o struktuře pole, polích podporovaných v Aspose.Words a podrobnostech práce s takovými poli.
Pole se skládá z:

Obsah, který tvoří kód pole, je uložen jako Run uzly mezi FieldStart a FieldSeparator. Výsledek pole je uložen mezi uzly FieldSeparator a FieldEnd a může být tvořen různými typy obsahu. Normálně výsledek pole obsahuje pouze text složený z uzlů Run, je však možné, že uzel FieldEnd bude umístěn ve zcela jiném odstavci, a tak bude výsledek pole složen z uzly na úrovni bloku například Table a Paragraph uzly také.
Zde je pohled na to, jak je pole uloženo v Aspose.Words pomocí příkladu “DocumentExplorer”.

Když je dokument načten do Aspose.Words, pole dokumentu se načtou do Aspose.Words Model Objektu Dokumentu jako sada samostatných komponent (uzlů). Jedno pole je načteno jako kolekce uzlů FieldStart, FieldSeparator a FieldEnd spolu s obsahem mezi těmito uzly. Pokud pole nemá výsledek pole, nebude zde žádný FieldSeparator uzel. Všechny tyto uzly se vždy nacházejí inline (jako děti Paragraph nebo SmartTag).
V Aspose.Words každý z uzlů FieldXXX pochází z FieldChar. Tato třída poskytuje vlastnost pro kontrolu typu pole reprezentovaného zadaným uzlem pomocí vlastnosti FieldType. Například FieldType.FieldMergeField představuje pole sloučení v dokumentu.
V dokumentu Word existují některá konkrétní pole, která nejsou importována do Aspose.Words jako kolekce uzlů FieldXXX. Například pole LINK a pole INCLUDEPICTURE jsou importovány do Aspose.Words jako objekt Shape. Tento objekt poskytuje vlastnosti pro práci s obrazovými daty normálně uloženými v těchto polích. Chcete-li importovat pole INCLUDEPICTURE jako uzly FieldXXX, musí být volba PreserveIncludePictureField zadána jako true.
Pole formuláře jsou také importována do Aspose.Words jako jejich vlastní speciální třída. Třída FormField představuje pole formuláře v dokumentu Word a poskytuje další metody, které jsou specifické pro pole formuláře.
Výpočet následujících polí je podporován v aktuální verzi Aspose.Words:
ADDRESSBLOCKASKAUTHORAUTONUMAUTONUMLGLAUTONUMOUTAUTOTEXTBARCODECOMMENTSCOMPARECREATEDATEDATABASEDATEDISPLAYBARCODEDOCPROPERTYDOCVARIABLEEDITTIMEEQFILENAMEFILESIZEFILLINFORMCHECKBOXFORMDROPDOWNFORMTEXTGLOSSARYGOTOBUTTONGREETINGLINEHYPERLINKIFIMPORTINCLUDEINCLUDEPICTUREINCLUDETEXTINDEXINFOKEYWORDSLASTSAVEDBYLISTNUMMACROBUTTONMERGEBARCODEMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNOTEREFNUMCHARSNUMPAGESNUMWORDSPAGEPAGEREFPRINTDATEQUOTEREFREVNUMSAVEDATESECTIONSECTIONPAGESSEQSETSHAPESKIPIFSTYLEREFSUBJECTSYMBOLTEMPLATETIMETITLETOATOCUSERADDRESSUSERINITIALSUSERNAMEAspose.Words sleduje způsob, jakým Microsoft Word zpracovává pole a ve výsledku správně zpracovává:
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 poskytuje velmi seriózní implementaci formula engine a podporuje následující:
=(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)"Jsou podporovány následující funkce ve výrazech: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF and COMPARE FieldsJen některé z výrazů IF, které Aspose.Words lze snadno vypočítat, by vám měly poskytnout představu o tom, jak mocná je tato funkce:
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 and TIME FieldsAspose.Words podporuje všechny přepínače formátování data a času dostupné v Microsoft Word, některé příklady jsou:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words neomezuje složitost polí Mail Merge ve vašich dokumentech a podporuje vnořená pole IF a vzorce a může dokonce vypočítat název slučovacího pole pomocí vzorce.
Některé příklady Mail Merge polí, které Aspose.Words podporuje:
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) }Pole v dokumentu může obsahovat přepínače formátování, které určují, jak má být výsledná hodnota naformátována. Aspose.Words podporuje následující přepínače formátu:
Když Aspose.Words vypočítá výsledek pole, často potřebuje analyzovat řetězec na hodnotu čísla nebo data a také jej naformátovat zpět na string.By výchozí Aspose.Words používá aktuální kulturu podprocesu k provádění analýzy a formátování při výpočtu hodnot polí během aktualizace polí a mail merge. K dispozici jsou také možnosti ve formě třídy FieldOptions, která umožňuje další kontrolu nad tím, která kultura se používá během aktualizace pole.
Chcete-li ovládat kulturu použitou při výpočtu pole, stačí před vyvoláním výpočtu pole nastavit vlastnost CurrentCulture na kulturu podle vašeho výběru.
Následující příklad kódu ukazuje, jak změnit kulturu použitou ve formátovacích polích během aktualizace:
EXAMPLE
Použití aktuální kultury k formátování polí umožňuje systému snadno a důsledně řídit, jak jsou všechna pole v dokumentu formátována během aktualizace polí.
Na druhou stranu Microsoft Word formátuje každé jednotlivé pole na základě jazyka textu nalezeného v poli (konkrétně běhů z kódu pole). Někdy během aktualizace pole to může být požadované chování, například pokud máte globalizované dokumenty obsahující obsah složený z mnoha různých jazyků a chcete, aby každá pole ctila národní prostředí použité z textu. Aspose.Words tuto funkci také podporuje.
Třída Document poskytuje vlastnost FieldOptions, která obsahuje členy, které lze použít k řízení aktualizace polí v dokumentu.
Následující příklad kódu ukazuje, jak určit, kde je vybrána kultura použitá pro formátování data během aktualizace pole a Mail Merge:
EXAMPLE
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.