I have a simple program that imports a PDF, calls AcroForm.FlattenFormFields(), and calls Export() on the PdfFormatProvider. I am seeing the following exception during Import() on a signed W9 form a customer has uploaded into our system. Due to the sensitive nature of the document I cannot upload it, but below is the Sig section. I have tried other example signed PDFs which seem to work fine (See attached)
39 0 obj
<< /Type /Annot /Rotate 0 /AP 180 0 R /Rect [ 105.8515 149.2023 289.4443 261.1185
] /Border [ 0 0 0 ] /M (h<D[×¥\001.ƒ¶AB}«\006iÚ¿E@\024_”W±ÔÃ\030ÙL\020"É]a\012Ú6¡0\000¶Žm1@Ž)
/C [ 1 ] /DA (h<D[×¥\001.ƒ¶AB}«\006.\023âø‰\035\005íöu\002ÊÒ½ùwË@—‹måÿÚ[ ‹í!¨\001)
/F 4 /Subtype /Sig >>
endobj
Exception
System.NotSupportedException: 'Import of annotation with type Sig is not supported.'
Stack Trace
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Annotations.AnnotationFactory.CreateUnsupportedAnnotationObject(PdfName type)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.TypeAwareConverter`1.CreateInstance(Type type, PostScriptReader reader, IPdfImportContext context, PdfDictionary dictionary)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.ConvertFromDictionary(Type type, PostScriptReader reader, IPdfImportContext context, PdfDictionary dictionary)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.Convert(Type type, PostScriptReader reader, IPdfImportContext context, IPdfPrimitive value)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.Convert(Type type, PostScriptReader reader, IPdfImportContext context, IPdfPrimitive value)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfCollectionBase`1.ConvertElementToType[T](PostScriptReader reader, IPdfImportContext context, IPdfPrimitive element)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfCollectionBase`1.TryGetElement[T](PostScriptReader reader, IPdfImportContext context, TIndex index, T& element)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.Page.<>c__DisplayClass21_0.<CopyPageAnnotationsTo>b__0()
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation)
This would allow creating documents with preferences such us HideToolbar, HideMenubar, FitWindow, PrintScaling and all other viewer preferences specified in PDF format specification.
The stack shows 1070 repeated frames of:
The StructureTree import is traversing a cyclic StructElement graph (or equivalent re-entrant child chain) without a recursion guard.
During this recursion, indirect object resolution repeatedly re-enters the same compressed object:
The method should create deep copy of the current page.
PdfProcessing: Handle merge of documents containing fields with the same invalid name.
InvalidOperationException is thrown when exporting a PDF document with a set compliance that processes Type3 font glyphs.
Workaround: Before export, set compliance to None.
var provider = new PdfFormatProvider();
provider.ExportSettings.ComplianceLevel = PdfComplianceLevel.None;
PdfStreamWriter: Duplicated pages when merging documents with identical page content streams but different per-page Resources.
Workaround: Use the RadFixedDocument.Merge() method instead of the PdfStreamWriter.
This is causing issues when exporting the document to PDF from WordsProcessing - the pdf library tries to create the font, but cannot find it due to a different casing. When importing HTML document, the font-family property is read with small letters. Later, when converting the string containing the value, it is changed to title case. This issue will be reproducible with each font containing a name with a letter with casing different than the one of the other letters (exc. first capital letter), for example: Microsoft JhengHei