By specification, the last line of the file contains only the end-of-file marker, %%EOF. If the file contains many trailing bytes at its end, a NotSupportedException: 'StartXRef keyword cannot be found.', is thrown.
Workaround: Trim any content after the end-of-file marker (see FixInvalidEndOfFile).
Current implementation relies on valid cross-reference offsets in the PDF documents so that PDF objects are easily found and parsed. However, we can implement a mechanism for repairing documents with invalid cross-reference tables. The attached project shows how to repair the simplest case of cross-reference table by using RepairDocumentWithSimpleCrossReferenceTable method.
When importing such documents an InvalidDataException (Unknown compression method <method-name>) is thrown.
According to the current .ZIP File Format Specification these methods are 7, 11, 13, 15, and 17.
Compression method:
According to the PDF specification (Adobe® Portable Document Format Version 1.7), the appearance dictionary is optional and it is specifying how the annotation is presented visually on the page.
Exceptions thrown:
InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfNull' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Annotations.Appearance'.'
NullReferenceException: 'Object reference not set to an instance of an object.'
When the document contains Simple Font with predefined encoding and no ToUnicode mapping the text should be extracted with the following algorithm:
Currently, the PdfProcessing library doesn't map the character code properly which leads to wrongly encoded text content.
This API should provide a method for removing all fields and widgets in the document and draw the default widget appearance in place of the removed widgets. WORKAROUND: Sample implementation for flattening form fields may be seen in the FlattenFormFields method from the attached demo project.
Adding a table with the same code leads to different results
When adding 10 identical tables onе or more have missing rows at the bottom. The seems to be caused by the text measurement.
When a TrueType font is defined, the mapping of character codes to glyph indices depends on the built-in cmap table mappings defined in the font and the Encoding property defined in the PDF dictionary.
However, the current implementation maps all characters with cmap tables for Microsoft Symbolic and Macintosh Roman, which causes incorrect mapping results, e.g. space characters are mapped to an Ê glyph.
The issue is also described in the following public item: TryGetCharCode for OpenTypeFont uses wrong cmap and returns wrong charcode.
Workaround: Change the font of the TextBoxField's widget appearance:
foreach (var widget in field.Widgets)
{
widget.TextProperties.Font = FontsRepository.Helvetica;
}
Currently, this missing functionality may be workaround by either drawing the headers and footers with FixedContentEditor or by using RadWordsProcessing PDF export.