'' 完毕:
Imports System.IO
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Pdf.AcroForms
'' 此示例展示了如何查找和删除现有签名
'' 来自经过数字签名的 PDF。
'' 查看RemoveSignatureFields以获取删除任何签名的代码
'' 而是签名字段。
'' 本示例中使用的 PDF 是由 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)
'' 字段可以是其他字段的子字段,因此我们使用
'' 迭代整个树的递归方法:
RemoveSignatures(doc.AcroForm.Fields)
'' 完毕:
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