PdfProcessing: Handle merge of documents containing fields with the same invalid name.
The method should create deep copy of the current page.
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;
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:
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
Dim signProp As New SignatureDataProperties
signProp.ContactInfo = strContactInfo
signProp.Name = strSignersName
signProp.Reason = strReason
signProp.Location = strLocation
signProp.TimeOfSigning = DateTime.Now
Dim signatureName As String = "EsignSignature"
Dim signatureField1 As SignatureField = New SignatureField(signatureName)
UseSignatureProperties = 1
If UseSignatureProperties = 1 Then
Dim sign1 = New Signature(certificate)
signatureField1.Signature = sign1
signatureField1.Signature.Properties = signProp 'THIS WOULD FAIL
Else
signatureField1.Signature = New Signature(certificate)
signatureField1.Signature.Properties.ContactInfo = strContactInfo
signatureField1.Signature.Properties.Location = strLocation
signatureField1.Signature.Properties.Name = strSignersName
signatureField1.Signature.Properties.Reason = strReason
signatureField1.Signature.Properties.TimeOfSigning = DateTime.Now 'THIS WORKS
End If