Pokročilé Funkce Mail Merge
Aspose.Words poskytuje některé další vlastnosti a metody Mail Merge, které vám umožňují provádět další přizpůsobení procesu Mail Merge buď v jednoduchém Mail Merge nebo Mail Merge s regiony.
Pokročilé funkce Mail Merge zahrnují mimo jiné získávání informací o struktuře šablon před provedením operace Mail Merge, nastavení pravidel pro operaci Mail Merge a čištění během operace Mail Merge. Tento článek se bude zabývat pouze několika vlastnostmi a příklady, které vám ukážou, jak používat pokročilé funkce.
Nastavení pravidel pro operace Mail Merge
Přidání pravidel do šablony vám umožní zefektivnit a zpružnit proces pracovního postupu. Pomocí pravidel Mail Merge můžete nastavit obsah, který lze rychle změnit, a vyhnout se nutnosti generovat více dokumentů.
Aspose.Words umožňuje přizpůsobit Mail Merge na základě pravidel, která se spustí při provádění Mail Merge operace a řízení sloučení informací. Například když vytvoříte e-mail nebo dopis, který pošlete všem svým zákazníkům. Můžete nastavit pravidlo tak, aby písmeno mohlo obsahovat různá data na základě různých hodnot v určitých polích zdroje dat.
Podívejte se na některá pravidla Mail Merge, která můžete implementovat.
Implementujte další pole pro sloučení datových záznamů v aktuálním dokumentu
Pole Next můžete implementovat a sloučit další datový záznam do aktuálního výsledného sloučeného dokumentu namísto spuštění nového sloučeného dokumentu. Používá se k zobrazení více záznamů v jednom dokumentu.
Implementujte pole NextIf a SkipIf pro porovnání dvou výrazů
Můžete použít buď NextIf pole nebo SkipIf pole, pokud chcete porovnat dva výrazy (right a left výrazy) některými operator.
NextIf
Field Name | Comparison Result “True” | Comparison Result “False” |
---|---|---|
NextIf |
Aspose.Words sloučí další datový záznam do aktuálního dokumentu sloučení a všechna pole sloučení v šabloně, která jsou za polem NextIf, budou nahrazena hodnotami z dalšího datového záznamu, nikoli z aktuálního datového záznamu. | Aspose.Words sloučí další datový záznam do nového dokumentu sloučení. |
SkipIf |
Aspose.Words zruší aktuální dokument sloučení, přesune se na další datový záznam ve zdroji dat a spustí nový dokument sloučení. | Aspose.Words bude pokračovat v aktuálním dokumentu sloučení. |
Následující příklad kódu ukazuje, jak porovnat dva výrazy s NextIf nebo SkipIf:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// Use NextIf field. A NEXTIF field has the same function as a NEXT field, | |
// but it skips to the next row only if a statement constructed by the following 3 properties is true. | |
FieldNextIf fieldNextIf = (FieldNextIf)builder.InsertField(FieldType.FieldNextIf, true); | |
// Or use SkipIf field. | |
FieldSkipIf fieldSkipIf = (FieldSkipIf)builder.InsertField(FieldType.FieldSkipIf, true); | |
fieldNextIf.LeftExpression = "5"; | |
fieldNextIf.RightExpression = "2 + 3"; | |
fieldNextIf.ComparisonOperator = "="; | |
doc.Save(ArtifactsDir + "WorkingWithFields.FieldNext.docx"); |
Získejte Informace O Struktuře Šablony
Aspose.Words umožňuje shromažďovat různé informace v šabloně pomocí mnoha metod. Například možná budete muset získat názvy některých slučovacích polí nebo hierarchii oblastí v šabloně. Nyní vysvětlíme možné varianty, jak získat nějaké konkrétní informace z vaší šablony.
Získat Názvy Polí Sloučení
Můžete narazit na scénář, kdy budete chtít sloučit data se sloučenými poli, která jsou vytvořena jinými, a v tomto případě si nebudete jisti přesnými názvy polí sloučení. Chcete-li tedy dosáhnout účelu Mail Merge, musíte nejprve přečíst a zobrazit názvy všech polí sloučení. Aspose.Words umožňuje získat kolekci názvů polí sloučení pomocí metody GetFieldNames.
Následující příklad kódu ukazuje, jak získat názvy všech polí sloučení v šabloně:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
string[] fieldNames = doc.MailMerge.GetFieldNames(); |
Získejte Informace O Slučovacích Regionech
Můžete mít scénář, ve kterém chcete pochopit, jak je vaše šablona strukturována prostřednictvím zadaných oblastí sloučení. Pomocí některých metod můžete shromáždit všechny potřebné informace o oblastech sloučení nebo získat hierarchii oblastí sloučení v šabloně, například metodu GetRegionsHierarchy. Můžete použít vlastnosti a metody třídy MailMergeRegionInfo.Následující příklad kódu ukazuje, jak získat hierarchii slučovacích regionů:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
MailMergeRegionInfo regionInfo = doc.MailMerge.GetRegionsHierarchy(); |
Následující příklad kódu ukazuje, jak získat konkrétní oblasti sloučení do šablony na základě jejich názvů:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Mail merge regions.docx"); | |
MailMergeRegionInfo regionInfo = doc.MailMerge.GetRegionsHierarchy(); | |
IList<MailMergeRegionInfo> regions = doc.MailMerge.GetRegionsByName("Region1"); | |
Assert.AreEqual(1, doc.MailMerge.GetRegionsByName("Region1").Count); | |
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("Region1", region.Name); | |
regions = doc.MailMerge.GetRegionsByName("Region2"); | |
Assert.AreEqual(1, doc.MailMerge.GetRegionsByName("Region2").Count); | |
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("Region2", region.Name); | |
regions = doc.MailMerge.GetRegionsByName("NestedRegion1"); | |
Assert.AreEqual(2, doc.MailMerge.GetRegionsByName("NestedRegion1").Count); | |
foreach (MailMergeRegionInfo region in regions) Assert.AreEqual("NestedRegion1", region.Name); |
Přidat Mapovaná Pole
Aspose.Words umožňuje automaticky mapovat názvy polí ve zdroji dat a názvy polí Mail Merge v šabloně pomocí vlastnosti MappedDataFields. Pokud máte například v šabloně název pole s názvem " Příjmení “a ve zdroji dat máte název pole” příjmení “nebo jinou variantu, například” Last_Name “nebo” LastName", pak se pole ve zdroji dat automaticky namapuje na odpovídající mapované pole. Pokud má být šablona sloučení sloučena s mnoha zdroji dat, mapovaná pole znemožňují opětovné zadávání polí do šablony, aby bylo možné souhlasit s názvy polí v databázi.
Následující příklad kódu ukazuje, jak přidat mapované pole pomocí metody Add, když pole sloučení v šabloně a datové pole ve zdroji dat mají různé názvy:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(); | |
doc.MailMerge.MappedDataFields.Add("MyFieldName_InDocument", "MyFieldName_InDataSource"); |