【发布时间】:2016-11-23 11:02:14
【问题描述】:
我有一个带有单元格的表格,并想在其中放置一个水平条形图。我想在这个单元格中用矩形绘制这个图表以避免另一个库。
我需要画布来绘制矩形吗?如何将画布放置在单元格中以及如何在(单元格的)右侧页面上创建画布?
谢谢!
【问题讨论】:
我有一个带有单元格的表格,并想在其中放置一个水平条形图。我想在这个单元格中用矩形绘制这个图表以避免另一个库。
我需要画布来绘制矩形吗?如何将画布放置在单元格中以及如何在(单元格的)右侧页面上创建画布?
谢谢!
【问题讨论】:
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
【讨论】: