iText 7:如何将图表插入“文档”?

iText 7: How can I insert diagrams into a `Document`?

我正在使用 iText 7.2.1。

根据文档,我只能找到像ImageDivListParagraphTable这样的元素可以插入到Document.

我想画一些图表并将其插入到我的文档中。我需要它们成为我的内容流的一部分。现有的 PdfCanvasCanvas 无法做到这一点。他们似乎只接受绝对位置。

有没有办法在 iText 7 中插入图表?

在您澄清的评论中

I want to draw diagrams using PdfCanvas instructions. Is it possible that I don't have to specify absolute position, and the diagram automatically follow the previous paragraph, and next paragraphs automatically follow this diagram. Is SVG the only way to do this?

您可以在 PdfFormXObject 中创建图表,它有自己的坐标系。 PdfCanvas 也可以为表单 XObjects 构造实例。

然后您可以将该 XObject 包装在 iText Image 中,然后您可以将其添加到 iText Document 以自动定位。

所以对于 PdfDocument pdfDocumentDocument document:

PdfFormXObject xobject = new PdfFormXObject(new Rectangle([... area for your diagram ...]));
PdfCanvas pdfCanvas = new PdfCanvas(xobject, pdfDocument);
[... draw diagram on pdfCanvas ...]
Image image = new Image(xobject);
document.add(image);