0

下面的 VB.Net 代码在 v 5.3.4 下工作,但 .Close 语句在 v5.4.1 和 v5.4.1 下失败。我可以使用相同的代码并切换 .dll 来重现问题。

第二行中的 Me.Text 是一个包含文件路径的文本框。该文件是使用 AcroBat 9.5 创建的,它有两个名为“NAME”和“PHONE”的表单字段。

core.zip 中的 itextsharp.dll 作为对项目的引用添加。在表单级别:导入 itextsharp.text 和 .text.pdf。谢谢!

有人可以验证这一点并报告错误吗?或者让我知道我做错了什么(除了使用 WinForms 和 VB.Net :)?

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    Dim newFile As String = Me.Text.Replace(".pdf", "_Out.pdf")

    ''//create w/overwrite copy of the template
    Dim pdfReader As New PdfReader(pdfTemplate)
    Dim pdfStamper As New PdfStamper(pdfReader, New FileStream(newFile, FileMode.Create))

    pdfFormFields = pdfStamper.AcroFields

    ''//set form pdfFormFields ' field names are case sensitive
    pdfFormFields.SetField("NAME", "Firstname Lastname")
    pdfFormFields.SetField("PHONE", "805.555.1212")

    ''//report by reading values from completed PDF
    Dim sTmp As String = "Completed: " + pdfFormFields.GetField("NAME") + " " + _
    pdfFormFields.GetField("PHONE")
    MessageBox.Show(sTmp, "Finished")

    ''//flatten the form to remove editting options, set it to false
    ''//to leave the form open to subsequent manual edits
    pdfStamper.FormFlattening = False

    ''//close the pdf
    pdfStamper.Close()
End Sub
4

0 回答 0