我有一个带有单元格的表,想要在其中放置一个水平条形图。我想在此单元格中使用矩形绘制此图表,以避免使用其他库。
我需要画布来绘制矩形吗?如何将画布放在单元格中以及如何在(单元格的)右页面上创建画布?
谢谢!
答案 0 :(得分:0)
iText7有两种画布对象:
布局Canvas
,一个高级对象,充当高级和低级操作之间的桥梁,允许您将高级对象添加到指定区域。这个画布没有页面的概念。
PdfCanvas
,允许您对特定页面或表单XObject
执行低级操作,例如绘制线条,在绝对位置添加文字,...
Canvas
的构造函数需要表单XObject
或PdfCanvas
,因此可以通过这种方式为Canvas
指定页面。
现在,为了将矩形绘制到单元格中,我建议实现自己的单元格事件,并使用PdfCanvas在事件处理代码中绘制矩形。
一些有用的链接: 关于事件处理程序的教程部分(最后一个例子是你想要的那个):http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-3-using-renderers-and-event-handlers
使用pdfCanvas绘图: http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-2-adding-low-level-content