From 259fc876d84d7b020325352df801b570cc8b8516 Mon Sep 17 00:00:00 2001 From: KB Bot Date: Wed, 30 Jul 2025 13:14:54 +0000 Subject: [PATCH 1/2] Added new kb article simulating-mail-merge-with-html-content --- ...simulating-mail-merge-with-html-content.md | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 knowledge-base/simulating-mail-merge-with-html-content.md diff --git a/knowledge-base/simulating-mail-merge-with-html-content.md b/knowledge-base/simulating-mail-merge-with-html-content.md new file mode 100644 index 00000000..b8c4c7a3 --- /dev/null +++ b/knowledge-base/simulating-mail-merge-with-html-content.md @@ -0,0 +1,90 @@ +--- +title: Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality +description: Learn how to render HTML content with formatting options during mail merge using Telerik Document Processing Library. +type: how-to +page_title: Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality +meta_title: Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality +slug: simulating-mail-merge-with-html-content +tags: wordsprocessing,telerik document processing,mail merge,html content,html format provider +res_type: kb +ticketid: 1694621 +--- + +## Environment + +| Version | Product | Author | +| ---- | ---- | ---- | +| 2025.2.520| RadWordProcessing |[Desislava Yordanova](https://www.telerik.com/blogs/author/desislava-yordanova)| + +## Description + +I want to perform mail merge using Telerik Document Processing Library, where HTML content needs to replace placeholders in a DOCX template. When performing mail merge, the library binds plain HTML text instead of rendering the HTML with formatting. In some cases, using the HtmlFormatProvider results in corrupted documents. + +This knowledge base article also answers the following questions: +- How to insert formatted HTML content in mail merge using Telerik Document Processing? +- How to replace placeholders with styled HTML content in RadFlowDocument? +- How to use HtmlFormatProvider correctly in Telerik WordsProcessing? + +## Solution + +To render HTML content during mail merge, use the find-and-replace functionality instead of the default mail merge engine. Replace placeholders with styled HTML content using the following steps: + +1. Import the HTML content using HtmlFormatProvider. +2. Import the DOCX template using DocxFormatProvider. +3. Find placeholders in the template and replace them with the imported HTML content. + +### Code Example + +```csharp +// Import HTML content +RadFlowDocument htmlFlowDocument; +using (Stream input = File.OpenRead(@"info.html")) +{ + Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider htmlProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider(); + htmlFlowDocument = htmlProvider.Import(input, TimeSpan.FromSeconds(10)); +} + +// Import DOCX template +RadFlowDocument templateFlowDocument; +Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider docxProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider(); + +using (Stream input = File.OpenRead("template.docx")) +{ + templateFlowDocument = docxProvider.Import(input, TimeSpan.FromSeconds(10)); +} + +// Replace placeholder with HTML content +List newContent = new List(); +RadFlowDocumentEditor editor = new RadFlowDocumentEditor(templateFlowDocument); + +foreach (Section section in htmlFlowDocument.Sections) +{ + Section clonedSection = section.Clone(templateFlowDocument); + newContent.AddRange(clonedSection.Blocks); +} + +editor.ReplaceText("<>", newContent, true, false); + +// Export the modified document +string outputFilePath = "output.docx"; +File.Delete(outputFilePath); +using (Stream output = File.OpenWrite(outputFilePath)) +{ + docxProvider.Export(templateFlowDocument, output, TimeSpan.FromSeconds(10)); +} + +// Open the output file +Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true }); +``` + +### Notes: +- Replace `<>` with your placeholder text. +- Modify the code to suit your template and requirements. +- Ensure the provided HTML content is supported by HtmlFormatProvider. + +## See Also + +- [HtmlFormatProvider Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/formats-and-conversion/html/htmlformatprovider) +- [DocxFormatProvider Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/formats-and-conversion/word-file-formats/docx/docxformatprovider) +- [Mail Merge Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/editing/mail-merge) +- [Replace Text with Document Elements](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/editing/find-and-replace/replace-document-elements) From 62f70f6a730931d37c5ee80a22df71fd673aa8cb Mon Sep 17 00:00:00 2001 From: Desislava Yordanova Date: Wed, 6 Aug 2025 18:09:00 +0300 Subject: [PATCH 2/2] new KB --- ...imulating-mail-merge-with-html-content.png | Bin 0 -> 61735 bytes ...simulating-mail-merge-with-html-content.md | 25 ++++++++---------- .../find-and-replace/find-and-replace-text.md | 2 +- .../radwordsprocessing/editing/mail-merge.md | 3 ++- 4 files changed, 14 insertions(+), 16 deletions(-) create mode 100644 knowledge-base/images/simulating-mail-merge-with-html-content.png diff --git a/knowledge-base/images/simulating-mail-merge-with-html-content.png b/knowledge-base/images/simulating-mail-merge-with-html-content.png new file mode 100644 index 0000000000000000000000000000000000000000..23a14e5f74ff27d923fedee1c1a0340461ccf2ec GIT binary patch literal 61735 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 literal 0 HcmV?d00001 diff --git a/knowledge-base/simulating-mail-merge-with-html-content.md b/knowledge-base/simulating-mail-merge-with-html-content.md index b8c4c7a3..c0d776df 100644 --- a/knowledge-base/simulating-mail-merge-with-html-content.md +++ b/knowledge-base/simulating-mail-merge-with-html-content.md @@ -5,7 +5,7 @@ type: how-to page_title: Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality meta_title: Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality slug: simulating-mail-merge-with-html-content -tags: wordsprocessing,telerik document processing,mail merge,html content,html format provider +tags: words, processing,telerik, document, mail, merge, html, content, find, replace res_type: kb ticketid: 1694621 --- @@ -18,19 +18,16 @@ ticketid: 1694621 ## Description -I want to perform mail merge using Telerik Document Processing Library, where HTML content needs to replace placeholders in a DOCX template. When performing mail merge, the library binds plain HTML text instead of rendering the HTML with formatting. In some cases, using the HtmlFormatProvider results in corrupted documents. +This article demonstrates a sample approach how to simulate [mail merge]({%slug radwordsprocessing-editing-mail-merge%}), where HTML content needs to replace placeholders in a DOCX template. When performing mail merge, the WordProcessing library binds plain HTML text instead of rendering the HTML with formatting. -This knowledge base article also answers the following questions: -- How to insert formatted HTML content in mail merge using Telerik Document Processing? -- How to replace placeholders with styled HTML content in RadFlowDocument? -- How to use HtmlFormatProvider correctly in Telerik WordsProcessing? +![Replace Placeholders with HTML content in DOCX template ><](images/simulating-mail-merge-with-html-content.png) ## Solution -To render HTML content during mail merge, use the find-and-replace functionality instead of the default mail merge engine. Replace placeholders with styled HTML content using the following steps: +To render HTML content during mail merge, use the [Find-and-Replace]({%slug radwordsprocessing-editing-find-and-replace%}) functionality instead of the default mail merge engine. Replace placeholders with styled HTML content using the following steps: -1. Import the HTML content using HtmlFormatProvider. -2. Import the DOCX template using DocxFormatProvider. +1. Import the HTML content using [HtmlFormatProvider]({%slug radwordsprocessing-formats-and-conversion-html-htmlformatprovider%}). +2. Import the DOCX template using [DocxFormatProvider]({%slug radwordsprocessing-formats-and-conversion-docx-docxformatprovider%}). 3. Find placeholders in the template and replace them with the imported HTML content. ### Code Example @@ -80,11 +77,11 @@ Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecut ### Notes: - Replace `<>` with your placeholder text. - Modify the code to suit your template and requirements. -- Ensure the provided HTML content is supported by HtmlFormatProvider. +- Ensure the provided HTML content is [supported]({%slug radwordsprocessing-formats-and-conversion-html-supported-elements%}) by HtmlFormatProvider. ## See Also -- [HtmlFormatProvider Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/formats-and-conversion/html/htmlformatprovider) -- [DocxFormatProvider Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/formats-and-conversion/word-file-formats/docx/docxformatprovider) -- [Mail Merge Documentation](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/editing/mail-merge) -- [Replace Text with Document Elements](https://docs.telerik.com/devtools/document-processing/libraries/radwordsprocessing/editing/find-and-replace/replace-document-elements) +- [HtmlFormatProvider]({%slug radwordsprocessing-formats-and-conversion-html-htmlformatprovider%}) +- [DocxFormatProvider]({%slug radwordsprocessing-formats-and-conversion-docx-docxformatprovider%}) +- [Mail Merge Documentation]({%slug radwordsprocessing-editing-mail-merge%}) +- [Find-and-Replace]({%slug radwordsprocessing-editing-find-and-replace%}) diff --git a/libraries/radwordsprocessing/editing/find-and-replace/find-and-replace-text.md b/libraries/radwordsprocessing/editing/find-and-replace/find-and-replace-text.md index 536d3d68..1b7e1804 100644 --- a/libraries/radwordsprocessing/editing/find-and-replace/find-and-replace-text.md +++ b/libraries/radwordsprocessing/editing/find-and-replace/find-and-replace-text.md @@ -99,4 +99,4 @@ __RadFlowDocumentEditor__ gives you the ability to format all occurrences of a s * [RadFlowDocumentEditor]({%slug radwordsprocessing-editing-radflowdocumenteditor%}) * [CharacterProperties]({%slug radwordsprocessing-concepts-style-properties%}) * [RadFlowDocument]({%slug radwordsprocessing-model-radflowdocument%}) - * [RadFlowDocumentEditor API Reference](https://docs.telerik.com/devtools/document-processing/api/Telerik.Windows.Documents.Flow.Model.Editing.RadFlowDocumentEditor.html) + * [Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality]({%slug simulating-mail-merge-with-html-content%}) diff --git a/libraries/radwordsprocessing/editing/mail-merge.md b/libraries/radwordsprocessing/editing/mail-merge.md index 76c34557..5eb304e0 100644 --- a/libraries/radwordsprocessing/editing/mail-merge.md +++ b/libraries/radwordsprocessing/editing/mail-merge.md @@ -227,4 +227,5 @@ If you want to separate the items into several rows you need to close the group * [Populate a Table with Data using Nested Mail Merge Functionality]({%slug populate-table-data-mail-merge%}) * [Generating a Word Document Template with Data Using MailMerge in RadWordsProcessing]({%slug generate-doc-template-and-populate-with-collection-data-mail-merge%}) * [How to Remove a MERGEFIELD While Replacing the Placeholders with Values in RadWordsProcessing]({%slug remove-mergefields-retain-values-radwordsprocessing%}) - * [Performing Nested MailMerge with Multiple Levels in RadWordsProcessing]({%slug nested-mailmerge-radwordsprocessing%}) + * [Performing Nested MailMerge with Multiple Levels in RadWordsProcessing]({%slug nested-mailmerge-radwordsprocessing%}) + * [Simulating Mail Merge with HTML content by Utilizing the Find and Replace Functionality]({%slug simulating-mail-merge-with-html-content%})