ITextSharp - PdfPCell 中的文本字段
我正在使用 iTextSharp 创建 PDF,如何将文本字段添加到 PdfPCell 中?
I'm using iTextSharp to create a PDF, how can I add a textField into PdfPCell?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您不会真正向 PdfPCell 添加“文本字段”,而是创建一个 PdfPCell 并向其添加文本(或其他内容)。
mikesdotnetting.com 可能有最清晰的示例并且总是有iTextSharp 教程。
You wouldn't really add a 'text field' to a PdfPCell, you'd create a PdfPCell and add text (or other stuff) to that.
mikesdotnetting.com might have the clearest example and there's always the iTextSharp tutorial.
尝试一下。这对我有用。
我改编自这篇文章的代码。
编辑:
这是一个完整的工作控制台应用程序,它将文本框放入表格单元格中。我试图将代码保持在最低限度。
好机会
Give this a try. It works for me.
I adapted this code from this post.
Edit:
Here is a full working console application that puts a TextBox in a table cell. I tried to keep the code to a bare minimum.
Bon chance
DaveB 的答案有效,但问题是您必须知道将文本字段放入的坐标(67, 585, 140, 800)。更常见的方法是创建表格单元格并向该单元格添加自定义事件。当表格生成调用 celllayout 事件时,它会向其传递单元格的尺寸和坐标,您可以使用它们来放置文本字段并调整其大小。
首先创建此调用,这是自定义事件
然后在创建表的代码中,您将使用如下事件:
如果您想要不同类型的文本字段,您可以创建其他自定义事件,也可以添加额外的属性到 CustomCellLayout 类,例如您使用类构造函数设置的“fontsize”或“multiline”,然后在 CellLayout 代码中检查以调整文本字段属性。
DaveB's answer works, but the problem is that you have to know the coordinates to place the textfield into, the (67, 585, 140, 800). The more normal method of doing this is to create the table cell and add a custom event to the cell. When the table generation calls the celllayout event it passes it the dimensions and coordinates of the cell which you can use to place and size the textfield.
First create this call, which is the custom event
Then in your code where you create the table you'll use the event like this:
If you want to different kinds of textfields you can either make additional custom events, or you could add extra properties to the CustomCellLayout class like "fontsize" or "multiline" which you'd set with the class constructor, and then check for in the CellLayout code to adjust the textfield properties.