You can add captions to figures, equations, or other objects.
From the Office Open XML File Formats Specification: This element specifies the contents and positioning for captions which can be used to automatically label objects in a WordprocessingML document. A caption is a string that labels an object included in a WordprocessingML document, and typically consists of a string plus a field which numbers this item within a collection of similar objects.
Similar functionality can be achieved using the CustomCodeField:
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document); using (Stream stream = File.OpenRead("Image1.jpg")) { ImageInline image = editor.InsertImageInline(stream, "jpg"); editor.InsertBookmark("Image", image, image); } editor.InsertBreak(BreakType.LineBreak); editor.InsertText("Figure "); editor.InsertField("SEQ Image", "Update Figure Number");
When exporting a document containing a FloatingImage in the header/footer the measurement of the header/footer height doesn't take into account the height of this image.
This leads to overlapping the page content with the image.
Workaround: Increase the Header (or Footer) top page margin by the height of the image:
foreach (Section section in this.document.Sections)
{
double floatingImageHeight = 0;
foreach (BlockBase block in section.Headers.Default.Blocks)
{
if (block is Paragraph paragraph)
{
FloatingImage floatingImage = (FloatingImage)paragraph.Inlines.FirstOrDefault(i => i is FloatingImage);
floatingImageHeight = floatingImage.Image.Height;
}
}
double left = section.PageMargins.Left;
double top = section.PageMargins.Top + floatingImageHeight;
double right = section.PageMargins.Right;
double bottom = section.PageMargins.Bottom;
section.PageMargins = new Telerik.Windows.Documents.Primitives.Padding(left, top, right, bottom);
}
When the table is nested in another table with fixed-width and the nested one has more than one cell in the row, where the one has a preferred width set to auto and the other has content that split on more than one row, then the first cell is exported with a wrong width.
Table with specified width in inches is not correctly exported when the size is set in inches (this is done in the imported HTML)
Workaround: set the table size in the code and remove the style.
foreach (Table table in document2.EnumerateChildrenOfType<Table>())The Hyperlink field is wrongly exported when the Code fragment is divided into several text fragments.
Actual:
Expected:
Workaround: Iterate the document content after importing it into RadFlowDocument in order to modify the Code fragment:
bool isBetweenStartAndSeparation = false;
string fieldInfoText = string.Empty;
int startIndex = 0;
IEnumerable<Paragraph> paragraphs = document.EnumerateChildrenOfType<Paragraph>();
foreach (Paragraph paragraph in paragraphs)
{
foreach (InlineBase inline in paragraph.Inlines.ToList())
{
if (inline is FieldCharacter)
{
FieldCharacter fieldCharacter = inline as FieldCharacter;
if (fieldCharacter.FieldCharacterType == FieldCharacterType.Separator)
{
isBetweenStartAndSeparation = false;
Run run = new Run(this.document)
{
Text = fieldInfoText
};
paragraph.Inlines.Insert(startIndex, run);
}
else if (fieldCharacter.FieldCharacterType == FieldCharacterType.Start)
{
isBetweenStartAndSeparation = true;
startIndex = paragraph.Inlines.IndexOf(inline) + 1;
fieldInfoText = fieldCharacter.FieldInfo.GetCode().Trim().ToLowerInvariant();
}
}
else if (isBetweenStartAndSeparation)
{
paragraph.Inlines.Remove(inline);
}
}
}
The Nonbreaking space is exported as a Unicode character instead of the appropriate Control word.
Actual: "\n160?"
Expected: "\~"
An incorrect file is produced when merging a stream more than 40 times.
Workaround: A possible workaround could be to merge up to 40 times in one file, then continue merging in a new one, and finally merge the newly generated documents.
According to the RTF specification: The valid values for the "\ls" index are from 1 to 2000.
They are currently exported from zero or "\ls0".
When the table width is set to fixed with the value of zero:
<w:tblW w:w="0" w:type="dxa"/>
Add full support of the font-weight CSS property. The defined values are: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900. Currently bold and normal are supported.
Make it possible to import HTML file with an external style sheet, without the need to handle the LoadStyleSheetFromUri event in HtmlImportSettings. If the URL is correct the data can be internally downloaded.