哪个Java / Groovy库覆盖图像上的文本

时间:2009-10-28 12:20:27

标签: java image text groovy

我正在开发一个Web应用程序(使用Grails),它将生成一个礼券。我正在考虑这样的工作流程:

  1. 用户将选择一个将存储为图像的模板。

  2. 然后文本(名称,日期,金额等)将叠加在图像上以制作最终证书。每个模板都有一组坐标,用于描述每个文本的放置位置。

  3. 浏览器中有一种“实时预览”,向用户显示最终证书的样子。

  4. 当用户对结果感到满意时,他们会将证书下载为PDF并打印出来。

  5. 有人可以推荐一个Java(或Groovy)库,这样可以很容易地做到这一点吗?我并不特别担心速度,因为我怀疑webapp一次只会被少数人使用。

    更新:最后我使用iText PDF库使用PDFStamper在PDF模板上叠加文本。

3 个答案:

答案 0 :(得分:4)

您可以使用标准Java 2D图形库执行此操作 - 从图像get its Graphics创建BufferedImage并使用drawString()将文本放在顶部。当然,文本将成为生成的PDF中位图的一部分,而不是使用完整的打印分辨率。

答案 1 :(得分:1)

除了上面的答案,我还遇到了groovy库GraphicsBuilder和Grails插件j2D,它们也是主要的解决方案。

答案 2 :(得分:0)

您可以考虑使用Batik来执行此操作作为SVG。您的图片将是< img>标签和您的文字将是一个或多个< text>标签。有一个转换器(我相信称为FOP)将为您提供PDF输出。