This is the code for inserting the image:
static void Main(string[] args)
{
FixedExtensibilityManager.ImagePropertiesResolver = new ImagePropertiesResolver();
//Telerik.Windows.Documents.Extensibility.JpegImageConverterBase defaultJpegImageConverter = new Telerik.Documents.ImageUtils.JpegImageConverter();
//Telerik.Windows.Documents.Extensibility.FixedExtensibilityManager.JpegImageConverter = defaultJpegImageConverter;
//Output("fyb-64.png", "output-working.pdf");
Output("fyb.png", "output-broken.pdf");
}
private static void Output(string resourceName, string outputFileName)
{
var document = new RadFixedDocument();
using (var editor = new RadFixedDocumentEditor(document))
{
Stream image = new FileStream(resourceName, FileMode.Open);
var table = new Table
{
LayoutType = TableLayoutType.FixedWidth,
Margin = new Thickness(10, 0, 0, 0),
};
var row = table.Rows.AddTableRow();
var cell = row.Cells.AddTableCell();
var block = cell.Blocks.AddBlock();
block.InsertImage(image);
editor.InsertTable(table);
var pdfData = ExportToPdf(document);
File.Delete(outputFileName);
File.WriteAllBytes(outputFileName, pdfData);
Process.Start(new ProcessStartInfo() { FileName = outputFileName, UseShellExecute = true });
}
}
private static byte[] ExportToPdf(RadFixedDocument document)
{
byte[] pdfData;
using (var ms = new MemoryStream())
{
var pdfFormatProvider = new PdfFormatProvider();
pdfFormatProvider.Export(document, ms);
pdfData = ms.ToArray();
}
return pdfData;
}Workaround: Instead of setting the ImagePropertiesResolver, set the JpegImageConverter:
Telerik.Windows.Documents.Extensibility.JpegImageConverterBase defaultJpegImageConverter = new Telerik.Documents.ImageUtils.JpegImageConverter();
Telerik.Windows.Documents.Extensibility.FixedExtensibilityManager.JpegImageConverter = defaultJpegImageConverter;
The customers should have the ability to change the symbol used as a delimiter and the symbol used as a quote for a CSV document.
When importing HTML content to a RadFlowDocument and exporting it to PDF format, the following error message occurs:
System.ArgumentException: 'The document element is associated with another parent. (Parameter 'item')'
at Telerik.Windows.Documents.Fixed.Model.Collections.DocumentElementCollection`2.VerifyDocumentElementOnInsert(T item)This missing functionality may be workaround by implementing and registering custom IPdfFilter implementation that decodes JPEG2000 images. The custom decoder may be registered with FiltersManager class and its implementation may be similar to RadPdfViewers JpxDecoder SDK example implementation: - https://github.com/telerik/xaml-sdk/blob/master/PdfViewer/CustomDecoder/JpxDecoder.cs