我正在使用 itextsharp 生成 PDF 报告。报告的格式大致是这样的:一段文字(段落),后面是表格,后面是图表,后面是表格。我使用 PdfPTable 绘制表格,使用 Paragraph 编写文本,使用 PdfContentByte 绘制图形。问题是,第二个表格没有正确定位,即它没有在图形之后绘制。我想问题是我试图将更高级别(使用 Document 对象)与更低级别(使用直接内容)操作结合起来。谁能帮我找到更好的解决方案来解决我的问题?谢谢你。
问问题
276 次
1 回答
0
和Paragraph
是PdfPTable
高级对象。您所做的PdfContentByte
是低级操作。您以错误的方式将高级方法与低级方法混合在一起。
您需要创建一个PdfTemplate
对象(参见 中的 CreatTemplate 方法PdfContentByte
)并将图形绘制到该PdfTemplate
对象;把它想象成一个小的、可重复使用的矩形画布。
完成后,您可以将对象包裹在PdfTemplate
内部Image
。别担心:它不会被光栅化;它将仍然是一个基于矢量的图形对象。拥有该图像后,您可以继续使用Document.Add()
,并且低级操作不会与高级对象重叠。
于 2013-06-13T08:23:32.230 回答