When images are added to the document with non-default quality (PdfExportSettings.ImageQuality different that ImageQuality.High) , they are re-encoded, which uses a lot of memory and may cause OutOfMemoryException for large images. Workaround (works when inserting big JPEG images): In this case ImageQuality.High may be used and RadPdfProcessing will decode only the image headers to insert the image into the PDF file. As image pixels are not decoded with ImageQuality.High, there will be no OutOfMemoryException.
According to the Pdf Specification: A given object number must not have an entry in more than one subsection within a single section.
The object on line 7 has object number 2, the same as of object on line 5.
Wrong calculations of new lines and white spaces between characters due to a wrong calculated character`s BoundingRect.
This results in missing whitespaces and/or characters split between lines.
OutOfMemoryException is thrown when generating PDF with many pages each of which contains images, as all of the document model data is in-memory. The issue is fixed with the new PdfStreamWriter API. As an example, you may see the attached demo to the following feedback item: https://feedback.telerik.com/Project/184/Feedback/Details/213503-pdfprocessing-optimize-pdfstreamwriter-cache-in-order-to-reduce-memory-when-writ Available in LIB version: 2017.1.320
Currently, when registering *.pfb font file with FontsRepository.RegisterFont method an exception is thrown during the font creation.
WORKAROUND: The font file may be converted to TTF format (*.ttf) which is successfully registered.
Some Shading elements are not property imported which leads to unexpected drawings on the exported (previewed in the PdfViewer) document.
When importing a document containing a CIDFont with default width (DW) set as PdfReal (double) an exception is thrown: System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfReal' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfInt'.'
44 0 obj
<< /BaseFont /NotoSansMono-Medium /CIDSystemInfo << ... >> /CIDToGIDMap /Identity /DW 600.00000 ... /Subtype /CIDFontType2 /Type /Font >>
endobjAccording to the PDF Specification: DW - integer - (Optional) The default width for glyphs in the CIDFont. Default value: 1000.
When using the RadFixedDocument.Pages.AddPage() method RadFixedPages are created without PageNumber set.
Such behavior is observed when exporting a RadFlowDocument to a RadFixedDocument using the ExportToFixedDocument as well.
PDF / X: the X stands for exchange; a PDF / X document can in principle be processed by any printing company. This means, for example, that only CMYK colors may be used, that all fonts must be present in the PDF, that the document must not be encrypted, and so on.
Hi,
I am trying to convert a HTML body to a PDF using HtmlFormatProvider and PdfFormatProvider.
It works well when I try to create a pdf with "normal" characters, but when I use characters like "åäö" the characters is either missing or replaced with other character.
I have found a similiar issue but that was due to the fact that the person was using .net core I am using .net framework.
Am I missing something when I am converting it to a PDF or is there a limitation with special characters like "åäö".
private string CreateAndStorePdf(string htmlBody)
{
Telerik.Windows.Documents.Extensibility.JpegImageConverterBase jpegImageConverter = new Telerik.Documents.ImageUtils.JpegImageConverter();
Telerik.Windows.Documents.Extensibility.FixedExtensibilityManager.JpegImageConverter = jpegImageConverter;
var provider = new HtmlFormatProvider();
var document = provider.Import(htmlBody);
var exportProvider = new PdfFormatProvider();
var fixedExportProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
var fileName = "_original.pdf";
try
{
using (var outputStream = new MemoryStream())
{
exportProvider.Export(fixedExportProvider.ExportToFixedDocument(document), outputStream);
outputStream.Seek(0, SeekOrigin.Begin);
var pdfBytes = new BinaryReader(outputStream).ReadBytes((int)outputStream.Length);
return fileName;
}
}
catch (Exception ex)
{
Log.Error(ex, "The pdf could not be created.");
return null;
}
}
ArgumentOutOfRangeException is thrown when importing a document because of wrongly parsing to Unicode mapping.
System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index'
When exporting merged documents when they are imported with ImportSettings set to ReadOnDemand an exception is thrown: KeyNotFoundException: 'The given key was not present in the dictionary.'