【问题标题】:Best way to handle large amounts of static text, images when creating pdf using iText使用 iText 创建 pdf 时处理大量静态文本、图像的最佳方法
【发布时间】:2011-09-21 15:13:06
【问题描述】:

我们将使用 iText 创建一个大型报表。每个报告都会有很多相同的静态文本和图像。然后,我们将数据库中的动态数据插入到报告中。报表完成后,静态数据和动态数据将混合在一起。处理静态数据的最佳方法是什么。我们将在 Web 应用程序中使用 java servlet 来创建报告。我们希望立即将报告发送到网页,因此性能至关重要。

这些是我的一些想法。不确定这些是否是好主意。

1.) 使用静态内容创建 PDF,然后插入动态数据。如果我这样走,我怎么知道在哪里插入动态数据?是否可以为插入数据的位置添加书签?

2.) 从数据库中获取静态数据。这似乎很难尝试设计一个包含静态内容的数据库,而这些静态内容必须考虑页面、段落、标题、图像等内容。我还认为,如果网站受到重创,这对性能不会有好处。

3.) 在 servlet 上下文中缓存静态内容。这似乎有助于提高性能,但仍然存在与数据库相同的设计问题。

我希望就使用 iText 创建 PDF 时存储大量静态文本的最佳方式提出一些意见。

感谢您的帮助 道格

【问题讨论】:

    标签: java image servlets text itext


    【解决方案1】:

    我不确定是否是最好的方法,但是在类似的情况下这对我来说效果很好,我创建了一个模板文件,我读入代码,并且在模板中我使用了哈希标记的变量持有者查找位置并替换为来自任何来源的动态文本。例如:

    Hello #CUSTOMER_NAME#,  Thank you for the purchase of #RECENT_PURCHASES# on 
    #RECEIPT_DATE#, for a total value of #RECEIPT_TOTAL#. ...
    

    就像我说的,它可能并不理想,但它确实很适合我的需求。

    【讨论】:

    • 我不想走这条路。我不想在 PDF 报告中寻找特殊字符。如果服务器受到重创,不确定这是否会降低效率。
    • 我同意,这可能不是一个高性能的解决方案。这种情况的用途是连接一个系统,该系统需要包含一个 xml 文档,该文档将安全例程与其他文件和信息一起提供。我有一个模板 XML 文件,并使用所描述的方案使安全 XML 特定于正在上传的任何用户和组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    相关资源
    最近更新 更多