在没有绝对定位的情况下将Graphics2D嵌入到itext中

时间:2014-01-29 13:01:52

标签: java pdf itext graphics2d

我正在使用iText(LGPL)创建PDF,其中包括一些文本和自绘(Graphics2D)图像。

我目前的解决方案是在BufferedImage上绘制图像,然后将其包含在PDF中,这有几个缺点:
如果打印,图像看起来很丑,一种规避这种方法的方法是使用更大的图像,而使用3000 * 3000它看起来还不错。但这导致了下一个问题:时间。压缩一个图像需要几秒钟(我还没有找到一种方法来禁用它,文件在没有压缩的情况下会很大)。

来自iText的PdfGraphics2d看起来不错,但有一个主要缺点:它只能绘制到PDF的背景,似乎没有办法将它包装在某种元素中。

有没有办法在不必使用绝对位置的情况下绘制PDF?我正在使用Graphics2d,因为它也用于在UI中提供预览。

1 个答案:

答案 0 :(得分:1)

您可以将PdfTemplate包裹在Image对象中,而不会丢失任何矢量图像的质量。在大多数情况下,您将使用Image对象将光栅图像作为 Image XObject 添加到PDF文档中。但是,在这种情况下,PdfTemplate将使用其原始矢量数据添加为表单XObject 。发生这种情况的另一种情况是,当您添加WMF文件时;例如文件自动转换为PDF语法。