Importing a document containing an EI keyword within the image stream leads to an endless loop and the document is not imported successfully.
With the current implementation when passing the font file using the FontsRepository the entire font file is embedded.
In order to embed only a subset of characters used in the document, the font should be installed and the font shouldn't be registered in the FontsRepository.
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); } }
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 importing a document containing an EI keyword not followed by space or return an exception is thrown: EndOfStreamException: 'Attempted to read past the end of the stream.'
We should implement the logic for getting character codes from Unicode when using CFFFontSource.
Workaround: The font may be changed by creating a similar font with FontsRepository.TryCreateFont(...) method.
Telerik.Windows.Documents.Fixed.Model.Fonts.FontsRepository.RegisterFont(new Telerik.Documents.Core.Fonts.FontFamily("Arial"), Telerik.Documents.Core.Fonts.FontStyles.Normal, Telerik.Documents.Core.Fonts.FontWeights.Normal, fontData); // fontData is a byte[] keeping the font definition
FontBase font;
bool hasCreatedFont = FontsRepository.TryCreateFont(new FontFamily("Arial"), out font);
foreach (TextField field in document.AcroForm.FormFields.OfType<TextField>())
{
if (hasCreatedFont)
{
foreach (var widget in field.Widgets)
{
widget.TextProperties.Font = font;
}
field.TextProperties.Font = font;
}
}
Currently, NotSupportedEncryptionException is thrown.