Aktualizovat pole
Typicky, pole vložené do Microsoft Word již obsahuje aktuální hodnotu. Například pokud je pole vzorec nebo číslo stránky, bude obsahovat správnou vypočtenou hodnotu pro danou verzi dokumentu. Ale pokud máte aplikaci, která vytváří nebo modifikuje dokument s poli, jako je sloučení dvou dokumentů nebo jeho zalidnění s daty, pak musí být ideálně všechna pole aktualizována, aby byl dokument užitečný.
Jak aktualizovat pole
Při načtení dokumentu, Aspose.Words napodobuje chování Microsoft Word s možností automaticky aktualizovat pole se vypne. Chování lze shrnout takto:
- když otevřete/zachráníte dokument, pole zůstanou neporušená
- můžete explicitně aktualizovat všechna pole v dokumentu, např. obnovit
TOC
když potřebujete - při tisku/předložení do PDF nebo XPS jsou aktualizována pole týkající se počtu stran v hlavičkách/nozích
- při popravě Mail Merge všechna pole jsou automaticky aktualizována
Aktualizovat pole programově
Chcete-li výslovně aktualizovat pole v celém dokumentu, stačí zavolat UpdateFields metoda. Pro aktualizaci polí obsažených v části dokumentu získáte Range Objekt a volání UpdateFields metoda. In Aspose.Words, můžete získat Range pro jakýkoli uzel ve stromu dokumentu, jako je Section, HeaderFooter, Paragraph, atd. GetRange majetek. Můžete aktualizovat výsledek jednoho pole voláním Update metoda.
Automatická aktualizace polí souvisejících se stránkami během renderování
Pokud provedete konverzi dokumentu na formát pevné stránky, např. na PDF nebo XPS, pak Aspose.Words bude automaticky aktualizovat pole týkající se rozložení stránky PAGE
, PAGEREF
nalezeno v hlavičkách/nohách dokumentu. Toto chování napodobuje chování Microsoft Word při tisku dokumentu.
Pokud chcete aktualizovat všechna ostatní pole v dokumentu, pak musíte zavolat UpdateFields před předložením dokumentu.
Následující příklad ukazuje, jak aktualizovat všechna pole před vydáním dokumentu:
Automatická aktualizace pole během Mail Merge
Když provedete mail merge, všechna pole v dokumentu budou automaticky aktualizována. To proto, že Mail Merge je případ aktualizace pole. Program potká Mail Merge pole a potřebuje aktualizovat svůj výsledek, který zahrnuje uchopení hodnoty ze zdroje dat a její vložení do pole. Logika je samozřejmě složitější, například když končí dokument/mail merge region je dosažen, ale stále existují další údaje, které je třeba sloučit, pak je třeba region duplikovat a aktualizovat nový soubor polí.
Aktualizovat pole s špinavým atributem
W:dirty je atribut úrovně pole, který obnoví pouze pole, které určíte při otevření dokumentu. Říká MS Word pouze obnovit toto pole, až bude dokument otevřen. Můžete použít vlastnost LoadOptions.setUpdateDirtyFields() k určení, zda má pole aktualizovat s špinavým atributem. Je-li hodnota LoadOptions.setUpdateDirtyFields() nastavena na true všechna pole s true hodnota pro Field.IsDirty
nebo FieldChar.IsDirty
vlastnost je aktualizována při zatížení dokumentu
Následující příklad kódu ukazuje, jak aktualizovat pole se špinavým atributem:
Update LastSavedTime Property Before Saving
Můžete použít UpdateLastSavedTimeProperty vlastnost, zda aktualizovat odpovídající vestavěnou vlastnost dokumentu LastSavedTime při záchraně dokumentu.
Následující příklad kódu ukazuje, jak aktualizovat tuto vlastnost: