The LineBreakstoParagraphs Property
A new feature in the WordWriter 8.6.1 WordTemplate Object is the ability to output new paragraphs where there are line breaks in your data using the LineBreakstoParagraphs property. This allows the user to have their text separate into new paragraphs every time there is a line break. The biggest benefit of this feature is that each new paragraph that is inserted will inherit the paragraph styles of its MergeField, including hanging paragraph settings, indentations after paragraphs, alignment, spacing, and orientation, to name a few. This means a single merge field can now output many identically formatted paragraphs rather than a single, large paragraph.
How to Use
By default, LineBreakstoParagraphs is set to False, and line breaks are inserted as soft breaks. A soft break is when text goes to the next line, but is still a part of the previous paragraph. Therefore the new line lacks any typical spacing and indentation that would occur between paragraphs. A soft return can be done in Word by pressing Shift + Enter. To use LineBreakstoParagraphs, you must set the property to true before calling Open(). Also be aware that this property only works on OOXML Word documents (.docx, .dotx, etc).
Comparison
LineBreakstoParagraphs Set to FALSE (DEFAULT) |
|
LineBreakstoParagraphs Set to TRUE |
|
Sample Code
// Names of your mergefields
string[] NamesArr = { @"MultiLineString" };
//Your long multi-line string of text with linebreaks.
object[] ValuesArr = {
@"Lorem ipsum ....
Mauris ac elit ...
Cras mi nisi....};
WordTemplate WordTempl = new WordTemplate();
//Set LineBreakstoParagraphs to true
WordTempl.LineBreaksToParagraphs = true;
WordTempl.Open(Page.MapPath("/LineBreakstoParaDemo.docx"));
//Set the datasource to the arrays.
WordTempl.SetDataSource(ValuesArr, NamesArr);
WordTempl.Process();
WordTempl.Save(Page.Response, "Demo.docx", false);
|