我在网上搜索并没有找到解决方案来做到这一点。
我有一个带有数据集客户的VB.net表单,我想在textbox.text中获取联系信息并填写PDF表单并打印出来。
Itextsharp提到了每个创建pdf的地方,而不是填写并打印它,我找到了一个很有前途的代码,我根本不熟悉vb.net,这是我的第一个程序。
这是我发现的代码,我觉得可行...
Imports System
Imports System.IO
Imports System.Xml
Imports iTextSharp
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.xml
Imports System.Security
Private Sub xmltopdf()
Dim pdfTemp As String = "C:\ExampleTemplate.pdf" ' ---> It's the original pdf form you want to fill
Dim newFile As String = "C:\NewFile.Pdf" ' ---> It will generate new pdf that you have filled from your program
' ------ READING -------
Dim pdfReader As New PdfReader(pdfTemp)
' ------ WRITING -------
' If you don’t specify version and append flag (last 2 params) in below line then you may receive “Extended Features” error when you open generated PDF
Dim pdfStamper As New PdfStamper(pdfReader, New FileStream(newFile, FileMode.Create), "\6c", True)
Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
' ------ SET YOUR FORM FIELDS ------
pdfFormFields.SetField("Company", "Parth Dave & Co.")
pdfFormFields.SetField("SalesOrder", "1234456")
pdfFormFields.SetField("InstallAddress", "Lorimer Street")
pdfFormFields.SetField("Suburb", "Port Melbourne")
pdfFormFields.SetField("Post_Code", "3207")
pdfFormFields.SetField("ClientContact", "Parth")
pdfFormFields.SetField("ClientPhone", "0402020202")
pdfStamper.FormFlattening = False
' close the pdf
pdfStamper.Close()
' pdfReader.close() ---> DON"T EVER CLOSE READER IF YOU'RE GENERATING LOTS OF PDF FILES IN LOOP
End Sub
我在Imports上遇到错误,不知道导入的是什么..
我添加了itextsharp.dll,所以应该没问题。
如果有人能帮助我或向我发送正确的方向,我将不胜感激。
将Imports放在课堂之外。