0

我正在使用 itextsharp 生成 PDF 报告。报告的格式大致是这样的:一段文字(段落),后面是表格,后面是图表,后面是表格。我使用 PdfPTable 绘制表格,使用 Paragraph 编写文本,使用 PdfContentByte 绘制图形。问题是,第二个表格没有正确定位,即它没有在图形之后绘制。我想问题是我试图将更高级别(使用 Document 对象)与更低级别(使用直接内容)操作结合起来。谁能帮我找到更好的解决方案来解决我的问题?谢谢你。

4

1 回答 1

0

ParagraphPdfPTable高级对象。您所做的PdfContentByte是低级操作。您以错误的方式将高级方法与低级方法混合在一起。

您需要创建一个PdfTemplate对象(参见 中的 CreatTemplate 方法PdfContentByte)并将图形绘制到该PdfTemplate对象;把它想象成一个小的、可重复使用的矩形画布。

完成后,您可以将对象包裹在PdfTemplate内部Image。别担心:它不会被光栅化;它将仍然是一个基于矢量的图形对象。拥有该图像后,您可以继续使用Document.Add(),并且低级操作不会与高级对象重叠。

于 2013-06-13T08:23:32.230 回答