我坚持这件事的时间比我承认的要长得多。我正在尝试使用iTextSharp构建一个表格,然后我可以将其插入到PDF模板中(这实际上只是一个带有标题的PDF和需要填充的acrofield)。我目前的代码遵循以下相同的大纲:
Dim doc As New Document
Dim reader As PdfReader
Dim stamper As PdfStamper
Dim filestream As FileStream
Dim tempfile As String = My.Computer.FileSystem.GetTempFileName
filestream = New FileStream(tempfile, FileMode.Create)
PdfWriter.GetInstance(doc, filestream)
doc.Open()
generateTableForPdf(listOfData, numColumns, doc)
doc.Close()
reader = New PdfReader(pdfTemplatePath)
stamper = New PdfStamper(reader, filestream)
stamper.AcroFields.SetField("topmostSubform[0].Page1[0].headerField", "some text to go in the field")
pdfTemplatePath
是一个私有const,它包含我尝试使用的模板文件路径,而generateTableForPdf
只是创建一个动态大小的表并将其放入doc
(doc已通过通过ref)。我知道创建表是因为它在页面加载时显示,但是,模板中的标题不会出现。我环顾四周,发现了几个使用字节流或内存流的例子,但是我实现这些方法的尝试失败得更厉害。任何帮助或指导,以更好地了解如何处理这一点非常感谢。