【问题标题】:which Java / Groovy library to overlay text on an image哪个 Java / Groovy 库在图像上覆盖文本
【发布时间】:2009-10-28 12:20:27
【问题描述】:

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

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

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

  3. 浏览器中有一种“实时预览”功能,可以向用户显示最终证书的外观。

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

谁能推荐一个用于 Java(或 Groovy)的库来简化此操作?我并不特别担心速度,因为我怀疑 webapp 一次只会被几个人使用。

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

【问题讨论】:

    标签: java image text groovy


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 感谢您的建议 - 我不敢相信我没想过使用 SVG,这是个好主意。将文本位作为可缩放对象可能会更容易弄清楚如何将它们放入模板中的空间,而无需弄乱字体大小。
        猜你喜欢
        • 1970-01-01
        • 2013-12-28
        • 1970-01-01
        • 1970-01-01
        • 2020-08-24
        • 2014-03-06
        • 2018-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多