Mail Merge Mẫu từ Mustache Cú Pháp

Aspose.Words cho phép bạn tạo các mẫu với cú pháp mustache ngoài các mẫu quen thuộc. A Mustache là một biến thể thay thế của cú pháp mẫu bao gồm các tên thẻ được bao quanh bởi và được hỗ trợ bởi một đối tượng mô hình chứa dữ liệu cho mẫu.

Cú pháp Mustache là tùy chọn duy nhất để sử dụng với các mẫu không chứa các trường, chẳng hạn như các mẫu HTML và TXT. Với các mẫu Word, bạn có hai tùy chọn để sử dụng các trường hoặc cú pháp Mustache.

Cú pháp Mustache hỗ trợ thẻ foreach, đây là một giải pháp thay thế cho việc sử dụng Mail Merge với các vùng. Vì vậy, lợi ích là bạn có thể sử dụng cú pháp mustache nếu vì lý do nào đó bạn không thể hoặc đơn giản là bạn không muốn sử dụng các trường hợp nhất và hợp nhất các khu vực.

Bạn cũng có thể kết hợp các trường Mail Merge với một số trường bổ sung bằng cách sử dụng thẻ foreach như trong hình bên dưới.

mustache_syntax

Tạo mẫu Mustache

Điểm quan trọng đầu tiên cần làm rõ là Mustache không phải là công cụ tạo khuôn mẫu. Mustache là một biến thể cú pháp khác có sẵn cho bất kỳ mẫu nào trong load format được hỗ trợ bởi Aspose.Words. Do đó, bạn có thể tạo một mẫu như vậy cả theo chương trình và thông qua giao diện, bạn chỉ cần bao gồm một số cú pháp nhất định và tuân thủ đặc tả Mustache.

Giả sử rằng bạn cần gửi cùng một email đến 50 người nhận để cá nhân hóa lời chào với tên tương ứng của họ. Bạn có thể thay thế tên của người nhận bằng một số trình giữ chỗ như sau:

Dear {{FirstName}}

I hereby…

Câu hỏi ở đây: làm thế nào bạn có thể tạo 50 email từ 1 mẫu Mustache duy nhất? Để trả lời điều đó, bạn cần thực hiện Mail Merge với các vùng để điền vào dấu ngoặc nhọn cho giữ chỗ trong mẫu với dữ liệu thực tế và tạo tài liệu đầu ra.

mustache_template

Làm việc với Cú pháp Mustache

Mustache được biểu diễn dưới dạng một thứ tự không logic vì nó thiếu bất kỳ câu lệnh luồng điều khiển cụ thể nào như for vòng lặp và ifelse điều kiện. Nhưng bạn có thể sử dụng phần danh sách xử lý thẻ và lambdas để đạt được đánh giá và lặp có điều kiện. Vì vậy, để bao gồm cú pháp Mustache trong thao tác Mail Merge, bạn sẽ cần sử dụng thuộc tính UseNonMergeFields và đặt giá trị của nó thành True.

Ví dụ mã sau đây cho thấy cách thay thế các thẻ Mustache bằng dữ liệu cụ thể:

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi thực hiện Mail Merge với các vùng cùng với việc áp dụng thuộc tính UseNonMergeFields:

mustache_syntax

Và sau khi áp dụng Mail Merge với các vùng:

mustache_syntax_result

Sử dụng Các Trường IF Để Làm Cho Mail Merge Thông minh

Aspose.Words cho phép bạn sử dụng các trường Mail Merge và các thẻ Mustache với câu lệnh IF. Các trường IF có thể được sử dụng trong bất kỳ tài liệu Mail Merge nào để ngăn chặn các khoảng trắng và dấu phẩy không mong muốn nếu một trường trống.

Công thức trường IF được hiển thị bên dưới:

{ IF [Condition] [Display Result 1] [Display Result 2] }

Ở đây, Điều kiện có thể là trường hợp nhất hoặc thẻ Mustache.

Ví dụ: bạn có thể sử dụng các trường IF nếu bạn cần chèn “của anh ấy”," của cô ấy"," anh ấy “hoặc” cô ấy " tùy thuộc vào giới tính như sau:

{ IF { MERGEFIELD Gender } = “MALE” “văn bản đúng” " văn bản sai"}

{ IF “{{ GENDER }}” = “MALE” “văn bản đúng” " văn bản sai"}

Ví dụ mã sau đây cho thấy cách thực hiện thao tác Mail Merge với các trường Mustache tags và IF:

Bạn có thể nhận thấy sự khác biệt giữa tài liệu trước khi áp dụng thuộc tính UseNonMergeFields:

mustache_if_field

Và sau khi áp dụng thuộc tính UseNonMergeFields:

mustache-if-field-2.png