Pole automatizace dokumentu (IF, COMPARE, MACROBUTTON a další)

Pole automatizace dokumentu (IF, COMPARE, MACROBUTTON a další)

Pole automatizace dokumentu (IF, COMPARE a další)

Tento průvodce ukazuje, jak pracovat s rodinou polí pro automatizaci dokumentů ve Wordu Aspose.Words FOSS pro .NET – pole, která řídí podmíněný text, ukládají proměnné v rozsahu dokumentu a propojují makra, navigaci a chování při tisku, místo aby jen zobrazovala vypočtenou hodnotu. Každé je Field podtřídou v Aspose.Words.Fields jmenném prostoru: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, a FieldPrint. Všechny z nich dědí jádro Field členy popsanými v Práce s poli – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, a Format – tato stránka popisuje, co je specifické pro každý.


Podmíněný text s FieldIf

FieldIf implementuje IF pole. LeftExpression, ComparisonOperator, a RightExpression popisují podmínku – stejný trojdílný tvar používaný v IComparisonExpressionEvaluator (viz Práce s poli) – a TrueText / FalseText obsahují dva možné výsledky. Zavolejte EvaluateCondition() k přímému vyhodnocení podmínky; vrací FieldIfComparisonResult hodnota: True, False, nebo Error.


Porovnávání hodnot s FieldCompare

FieldCompare implementuje pole COMPARE. Stejně jako FieldIf vystavuje LeftExpression, ComparisonOperator a RightExpression pro popis porovnání, ale vrací výsledek ve stylu boolean místo přepínání mezi dvěma textovými alternativami.


Proměnné dokumentu s FieldDocVariable

FieldDocVariable implementuje pole DOCVARIABLE, čte pojmenovanou proměnnou v rozsahu dokumentu přes její vlastnost VariableName.


Tlačítka: FieldGoToButton a FieldMacroButton

FieldGoToButton implementuje pole GOTOBUTTON: Location určuje název záložky, stránky nebo jiného cíle, na který se má přejít, a DisplayText je popisek zobrazený v dokumentu. FieldMacroButton implementuje pole MACROBUTTON: MacroName určuje název makra, které se má spustit, a DisplayText je popisek. Oba FieldIf i FieldMacroButton navíc implementují IMergeFieldSurrogate, rozhraní, které pole pro hromadnou korespondenci ve Wordu používají k označení sebe jako nahraditelného obsahu.


Instrukce tisku s FieldPrint

FieldPrint implementuje pole PRINT: PrinterInstructions a PostScriptGroup obsahují specifické instrukce pro tiskárnu vložené přímo v dokumentu.


Tipy a osvědčené postupy

  • Použijte FieldIf.EvaluateCondition() k načtení výsledku podmínky (FieldIfComparisonResult) bez nutnosti sami parsovat TrueText/FalseText.
  • FieldCompare a FieldIf sdílejí stejný tvar LeftExpression/ComparisonOperator/ RightExpression – kód, který vytváří nebo zkoumá jeden porovnávací výraz, může být znovu použit u obou typů polí.
  • Pamatujte, že všechny jsou Field podtřídy: GetFieldCode(), Update(), Remove(), a Unlink() from Práce s poli se použije přesně stejným způsobem zde.

Časté problémy

ProblémPříčinaOprava
FieldIf.EvaluateCondition() vrací ErrorOperandy nebo operátor podmínky nelze vyhodnotit tak, jak jsou napsányZkontrolujte LeftExpression, ComparisonOperator a RightExpression na platné hodnoty
Výsledek FieldDocVariable neodráží očekávanou hodnotu proměnnéVariableName neodpovídá názvu proměnné, která je ve skutečnosti v dokumentu přítomnaPotvrďte přesný název proměnné a že existuje, než budete číst Result
FieldGoToButton/FieldMacroButton zobrazovaný text neodpovídá tomu, co zobrazuje WordDisplayText byl načten před tím, než bylo pole aktualizováno, nebo byl nastaven bez odpovídajícího volání Update()Zavolejte Update() na poli, nebo znovu načtěte DisplayText po jakékoli změně

FAQ

Jak si přečtu výsledek podmíněného pole IF?

Zavolejte FieldIf.EvaluateCondition() pro surový FieldIfComparisonResult, nebo přečtěte TrueText / FalseText pro dvě doslovné textové alternativy, mezi kterými pole přepíná.

Jaký je rozdíl mezi FieldIf a FieldCompare?

FieldIf (pole IF) přepíná mezi TrueText a FalseText podle své podmínky. FieldCompare (pole COMPARE) má stejný tvar porovnání, ale vytváří výsledek ve stylu booleanu místo alternativního textu.

Jak si přečtu název proměnné dokumentu z pole DOCVARIABLE?

Přečtěte si FieldDocVariable.VariableName.

Jak najdu cíl pole GOTOBUTTON?

Přečtěte si FieldGoToButton.Location; DisplayText poskytuje popisek zobrazený pro tlačítko v dokumentu.


API Reference Shrnutí

Class / EnumPopis:
FieldIfIF pole; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultVýsledek výčtu FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE pole; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE pole; VariableName
FieldGoToButtonGOTOBUTTON pole; Location, DisplayText
FieldMacroButtonMACROBUTTON pole; MacroName, DisplayText
FieldPrintPRINT pole; PrinterInstructions, PostScriptGroup

Viz také:

 Čeština