RemoveSignatures.vb
 '' '' This code is part of Document Solutions for PDF demos. '' Copyright (c) MESCIUS inc. All rights reserved. '' Imports System.IO Imports GrapeCity.Documents.Pdf Imports GrapeCity.Documents.Pdf.AcroForms '' This sample shows how to find and remove existing signatures '' from a PDF that had been digitally signed. '' See the RemoveSignatureFields for code that removes any '' signature fields instead. '' The PDF used in this sample was created by TimeSheet. Public Class RemoveSignatures Public Function CreatePDF(ByVal stream As Stream) As Integer Dim doc = New GcPdfDocument() Using fs As New FileStream(Path.Combine("Resources", "PDFs", "TimeSheet.pdf"), FileMode.Open, FileAccess.Read) doc.Load(fs) '' Fields can be children of other fields, so we use '' a recursive method to iterate through the whole tree: RemoveSignatures(doc.AcroForm.Fields) '' Done: doc.Save(stream) Return doc.Pages.Count End Using End Function Sub RemoveSignatures(ByVal fields As FieldCollection) For i = fields.Count - 1 To 0 Step -1 If TypeOf fields(i) Is SignatureField Then DirectCast(fields(i), SignatureField).Value = Nothing End If RemoveSignatures(fields(i).Children) Next End Sub End Class