Vytváření polí pomocí FieldBuilder

Vytváření polí pomocí FieldBuilder

Vytváření polí s FieldBuilder

Tento průvodce ukazuje, jak vytvořit pole Wordu od nuly v Aspose.Words FOSS pro .NET pomocí FieldBuilder and FieldArgumentBuilder, místo práce s polem, které již v dokumentu existuje. Pro čtení, aktualizaci nebo odstranění existujících polí viz Práce s poli průvodce.


Vytvoření pole s FieldBuilder

FieldBuilder vytváří pole z tokenů kódu pole—argumentů a přepínačů. Vytvořte ho pomocí new FieldBuilder(fieldType), přičemž předáte FieldType pole, které chcete vytvořit. Argumenty přidávejte pomocí přetížené metody AddArgument(argument), která přijímá string, int, double, vnořený FieldBuilder nebo FieldArgumentBuilder. Přepínače přidávejte pomocí přetížených metod AddSwitch(switchName), AddSwitch(switchName, switchArgument) (string) nebo AddSwitch(switchName, switchArgument) (int/double).


Vkládání vytvořeného pole

Jakmile má FieldBuilder své argumenty a přepínače, zavolejte BuildAndInsert(refNode) pro vložení do dokumentu—jedna přetížená verze přijímá uzel Inline a vloží pole před něj, a druhá přijímá Paragraph a vloží pole na konec toho odstavce.


Skládání složitých argumentů s FieldArgumentBuilder

FieldArgumentBuilder vytváří složitý argument pole složený z polí, uzlů a prostého textu, pro případy, kdy jeden argument potřebuje více než prostý řetězec. Vytvořte jej pomocí new FieldArgumentBuilder(), poté zavolejte AddText(text) pro přidání prostého textu, AddNode(node) pro přidání uzlu Inline, nebo AddField(fieldBuilder) pro vnoření dalšího pole (vytvořeného pomocí vlastního FieldBuilder) do argumentu. Předáte dokončený FieldArgumentBuilder do FieldBuilder.AddArgument(argument), abyste jej použili jako jeden z argumentů vnějšímu poli.


Tipy a osvědčené postupy

  • Použijte FieldBuilder, když vytváříte typ pole, který není podporován jednou z dedikovaných tříd polí (např. FieldDate nebo FieldSymbol), nebo když generujete kódy polí programově z dat místo jejich ručního psaní.
  • Vnořte podřízené pole do argumentu vnějšího pole pomocí FieldBuilder.AddArgument(FieldBuilder) pro jednoduchý případ, nebo vytvořte smíšený argument textu, uzlů a vnořených polí pomocí FieldArgumentBuilder, když argument zahrnuje více než jedno pole.
  • Vyberte přetížení BuildAndInsert(refNode), které odpovídá místu, kam chcete pole umístit — před konkrétní uzel Inline, nebo na konec Paragraph.
  • Po BuildAndInsert zacházejte s výsledkem jako s libovolným jiným polem ve stromu — například na něj zavolejte Update(), pokud typ pole vyžaduje explicitní přepočet.

Časté problémy

ProblémPříčinaOprava
BuildAndInsert cílí na špatné místoBylo použito špatné přetížení pro zamýšlený bod vloženíPředejte uzel Inline pro vložení před něj, nebo Paragraph pro vložení na jeho konec
Argument pole nepřijme současně prostý text a uzelAddArgument byl volán s jedním string/int/double místo složeného argumentuSestavte smíšený argument pomocí FieldArgumentBuilder (AddText, AddNode, AddField) a předávejte jej AddArgument
Hodnota přepínače není rozpoznána v generovaném kódu poleByl použit AddSwitch(switchName), přestože přepínač skutečně vyžaduje argumentPoužijte přetížení AddSwitch(switchName, switchArgument) s řetězcem, int nebo double hodnotou přepínače

FAQ

Kdy mám použít FieldBuilder místo vložení předem vytvořeného kódu pole?

Použijte FieldBuilder, když potřebujete explicitní kontrolu nad argumenty a přepínači pole při jejich programovém sestavování, místo vložení předem vytvořeného řetězce kódu pole.

Jak přidám do pole více než jeden argument?

Zavolejte AddArgument jednou na každý argument — je přetížený pro string, int, double, vnořený FieldBuilder a FieldArgumentBuilder.

Mohu vytvořit pole, jehož argument obsahuje směs textu a dalšího pole?

Ano — použijte FieldArgumentBuilder, voláním AddText, AddNode a AddField podle potřeby, a poté jej předáte FieldBuilder.AddArgument.

Jak skutečně vložím vytvořené pole do dokumentu?

Zavolejte BuildAndInsert(refNode), a předáte buď uzel Inline (vloží se před něj), nebo Paragraph (vloží se na jeho konec).


API Reference Shrnutí

Třída/MetodaPopis:
FieldBuilderVytvoří pole z tokenů kódu pole (argumenty a přepínače)
FieldBuilder(fieldType)Konstruktor přijímající FieldType pro vytvoření
FieldBuilder.AddArgument(argument)Přidá argument (string, int, double, FieldBuilder nebo FieldArgumentBuilder)
FieldBuilder.AddSwitch(switchName) / AddSwitch(switchName, switchArgument)Přidá přepínač pole, s hodnotou nebo bez ní
FieldBuilder.BuildAndInsert(refNode)Vloží vytvořené pole před uzel Inline nebo na konec Paragraph
FieldArgumentBuilderVytváří složitý argument pole z textu, uzlů a vnořených polí
FieldArgumentBuilder.AddText(text)Přidá prostý text do argumentu
FieldArgumentBuilder.AddNode(node)Přidá uzel Inline do argumentu
FieldArgumentBuilder.AddField(fieldBuilder)Vnoří pole vytvořené FieldBuilder do argumentu

Viz také:

 Čeština