【发布时间】:2018-03-16 15:41:37
【问题描述】:
此代码应创建一个包含空签名字段的 pdf 文件:
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO
Public Sub createPdfFileWithAnEmptySignatureField()
Dim strOutputFilePath As String = "C:\Temp\File_ready_for_signing.pdf"
Dim strFieldName = "myEmptySignatureField"
Dim document As Document = New Document
Dim writer As PdfWriter
writer = PdfWriter.GetInstance(document, New FileStream(strOutputFilePath, FileMode.Append))
document.Open()
document.Add(New Paragraph("This text element is successfully added, but the empty signature field is missing from this document, for some reason..."))
Dim field As PdfFormField = PdfFormField.CreateSignature(writer)
field.SetWidget(New Rectangle(222, 222, 222, 222), PdfAnnotation.HIGHLIGHT_OUTLINE)
field.Name = strFieldName
field.Flags = PdfAnnotation.FLAGS_PRINT
field.SetPage()
Dim tp As PdfAppearance = PdfAppearance.CreateAppearance(writer, 1222, 1222)
tp.Rectangle(0.5!, 0.5!, 71.5!, 47.5!)
tp.Stroke()
field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, tp)
writer.AddAnnotation(field)
document.Close()
End Sub
它会创建一个带有文本的 pdf 文件,但缺少空的签名字段。
这是一个空签名字段的外观。
我发现了一些类似的问题: iTextsharp - Create Empty Signature Field - how can you create a signature field for a PDF template?,但他们没有完全回答我的问题。
编辑: mkl 解决了。这是最终版本:
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO
Public Sub createPdfFileWithAnEmptySignatureField()
Dim strOutputFilePath As String = "C:\Temp\File_ready_for_signing.pdf"
Dim strFieldName as String = "myEmptySignatureField"
Dim document As Document = New Document
Dim writer As PdfWriter
writer = PdfWriter.GetInstance(document, New FileStream(strOutputFilePath, FileMode.Create))
document.Open()
document.Add(New Paragraph("The following is an empty signature field:"))
Dim field As PdfFormField = PdfFormField.CreateSignature(writer)
field.SetWidget(New Rectangle(50, 740, 120, 780), PdfAnnotation.HIGHLIGHT_OUTLINE)
field.FieldName = strFieldName
writer.AddAnnotation(field)
document.Close()
End Sub
【问题讨论】:
标签: vb.net pdf itext digital-signature vb.net-2010