如何使用iText 7中的Graphics2D功能创建PDF文件?

时间:2017-10-06 06:15:49

标签: java pdf itext itext7

嗨〜我尝试使用iText 5将源代码迁移到iText 7,但我遇到了问题。

使用iText5时,我通过createGraphicsShapes()创建了一个PdfGraphics2D实例,然后使用Graphics2D的API绘制了对象。

但iText 7不提供createGraphicsShapes(),所以我需要帮助。

当然,我发现我可以使用PdfCanvas而不是PdfGraphics2D绘制对象。

但是如果可能的话,我想重用使用Graphics2D的API而不进行修改的源代码(因为该代码是其他功能中使用的常用代码)。

有没有好的选择?

AffineTransform t = new AffineTransform();
t.scale(PDF_API_SCALE, PDF_API_SCALE);
t.translate(100, 100);

Rectangle pageRect = writer.getPageSize();
PdfGraphics2D g2d = (PdfGraphics2D)contentByte.createGraphicsShapes(pageRect.getWidth(), pageRect.getHeight());
g2d.transform(t);


// the code that needs to reuse - start
g2d.fillRect(x, y, width, height);
g2d.drawString(str, x, y);
...
// the code that needs to reuse - end

g2d.dispose();

0 个答案:

没有答案