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");
view raw field-next.cs hosted with ❤ by GitHub

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");