When this type of section break is used, the next section should start on the same page instead on the next one.
When calling the MailMerge method on a RadFlowDocument, which includes an IF field, where no FalseText (value to display when the expression evaluates to FALSE) is defined the following exception is thrown System.NullReferenceException: 'Object reference not set to an instance of an object.'
Workaround: Setting a string (empty works too) for the FalseText.
When the document is passed to the following method, all IF fields are edited so that the exception is not thrown:
private void EmptyIfSecondArgumentWorkaround(RadFlowDocument document)
{
List<FieldCharacter> collection = document.EnumerateChildrenOfType<FieldCharacter>().Where(f => f.FieldCharacterType == FieldCharacterType.Start).ToList();
for (int i = 0; i < collection.Count; i++)
{
FieldInfo item = collection[i].FieldInfo;
string code = item.GetCode();
FieldCharacter separator = item.Separator;
FieldCharacter end = item.End;
if (code.TrimStart().StartsWith("IF"))
{
FieldCharacter codeEnd;
if (separator.Paragraph != null)
{
codeEnd = separator;
}
else
{
codeEnd = end;
}
string emptyString = " \"\" ";
string mergeFormatCodeSuffix = "\\*";
if (codeEnd.Paragraph.Inlines.Count > 1)
{
string editedMergeFormatCodeSuffix = string.Join("", new string[] { emptyString, mergeFormatCodeSuffix });
int codeEndIndex = codeEnd.Paragraph.Inlines.IndexOf(codeEnd);
Run run = codeEnd.Paragraph.Inlines[codeEndIndex - 1] as Run;
if (run.Text.Contains(mergeFormatCodeSuffix))
{
run.Text=run.Text.Replace(mergeFormatCodeSuffix, editedMergeFormatCodeSuffix);
}
else
{
run.Text += emptyString;
}
}
}
}
}
Field code fragment is added to the result fragment and exported to PDF/HTML format. The problem is observed when the code fragment is divided into multiple inlines. For example we have PAGE field. If 'A' is bold we would have 3 inlines (runs) in the instruction text and the issue would be observed.
When a document containing a field without a separator is inserted using the RadFlowDocumentEditor.InsertDocument(*) method, NullRferenceException is thrown. Workaround: Fix the document before inserting: private static void WorkaroundFieldsIssue(RadFlowDocument flowdocument) { foreach (FieldCharacter fieldCharacter in flowdocument.EnumerateChildrenOfType<FieldCharacter>().ToList()) { // only for start if (fieldCharacter.FieldCharacterType == FieldCharacterType.Start) { if (fieldCharacter.FieldInfo.Separator != null && fieldCharacter.FieldInfo.Separator.Parent == null) { Paragraph parent = fieldCharacter.FieldInfo.End.Paragraph; int index = parent.Inlines.IndexOf(fieldCharacter.FieldInfo.End); fieldCharacter.FieldInfo.End.Paragraph.Inlines.Insert(index, fieldCharacter.FieldInfo.Separator); } } } }
Add support for smart tags (described in the OOXML using the smartTag element). As currently smart tags are not supported, the content inside them is not imported from docx.
Both properties table cell padding and table cell spacing are not exported to PDF format.
When a field is formatted using the numberInDash format through the section's PageNumberingSettings, the format is not parsed and the field result is not included in the PDF document.
Workaround: Remove the formatting from the section settings:
foreach (var section in this.document.Sections)
{
section.PageNumberingSettings.PageNumberFormat = null;
}
Importing document with invalid bookmarks throws System.Collections.Generic.KeyNotFoundException. The issue is caused by an invalid bookmark having missing BookmarkRangeStart/bookmarkStart or BookmarkRangeEnd/bookmarkEnd elements.
In WordsProcessing you could set table.Alignment = Telerik.Windows.Documents.Flow.Model.Styles.Alignment.Center; But when the document is exported to PDF, this is not respected.
Implement nested mail merge and master-detail scenario.