To reproduce:
-Change the normal style in a document and insert it into another document using RenameSourceStyle option.
The style is renamed and inserted but is not applied to the content.
WordsProcessing: Merging a RadFlowDocument document into the target document over around 130 times breaks formatting when the target document is an empty RadFlowDocument.
The workaround to this issue is to set the target document to an existing RadFlowDocument such as the source before merging.
Exception when converting table with empty runs in the cells.
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;
}
}
}
}
}
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 html image with no source and then exporting it to pdf causes an exception, instead of omitting the faulty image.
Such images can be stripped using the following workaround:
List<ImageInline> images = this.document.EnumerateChildrenOfType<ImageInline>().ToList();
foreach (var image in images) { if (image.Image.ImageSource == null) { image.Paragraph.Inlines.Remove(image); } }
The table is cut off when its width is larger than the default page width.
Workaround:
var htmlProvider = new HtmlFormatProvider();
var document = htmlProvider.Import(File.ReadAllText(@"..\..\HTMLPage1.html"));
var tables = document.EnumerateChildrenOfType<Table>();
double maxWidth = document.Sections.FirstOrDefault().PageSize.Width;
foreach (var item in tables)
{
if (item.PreferredWidth.Type == Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnitType.Fixed)
{
maxWidth = Math.Max(maxWidth, (item.PreferredWidth.Value + 100));
}
}
foreach (var item in document.Sections)
{
item.PageSize = new System.Windows.Size(maxWidth, item.PageSize.Height);
}
var pdfProvider = new PdfFormatProvider();
File.WriteAllBytes(@"..\..\result.pdf", pdfProvider.Export(document));
<w:tblCellMar>
<w:top w:w="2880" w:type="dxa"/>
<w:bottom w:w="2880" w:type="dxa"/>
</w:tblCellMar>
<w:tblCellMar>
<w:top w:w="2880" w:type="dxa"/>
<w:left w:w="0" w:type="dxa"/>
<w:right w:w="0" w:type="dxa"/>
<w:bottom w:w="2880" w:type="dxa"/>
</w:tblCellMar>
Hello,
we are describing a reproducable problem (WordProcessing demo page), where DOCX footnotes are not imported as expected.
Current behaviour:
Upon converting a custom DOCX (including footnotes) into a DOCX again, using the WordProcessing demo, the converted document does no longer contain any footnotes.
Expected behaviour:
The downloaded DOCX should still contain all footnotes from the uploaded DOCX after converting it.
How to reproduce:
Is there anything that can be done as a workaround until this has been resolved?
Thank you in advance.
Kind Regards,
Dominik