【问题标题】:Reduce PDF file size in itext (java)减少itext中的PDF文件大小(java)
【发布时间】:2011-10-10 02:58:55
【问题描述】:

我正在创建一个基于 Web 的标签打印系统。对于每个标签,都应该有一个唯一的序列号。因此,当用户决定创建 1000 个标签(具有相同的数据)时,所有标签都应具有唯一的 s/n,因此 pdf 将有 1000 页,这会增加文件大小。

我的问题是当用户决定创建更多副本时,文件大小会变大。

有什么方法可以使用 Itext 减小 pdf 的文件大小?或者有什么方法可以生成 pdf 并在浏览器中输出而不将其保存到服务器/客户端的 HDD 中?

感谢您的帮助!

【问题讨论】:

  • @Adel - 序列号,序列号。这并不重要。关键是它是独一无二的。

标签: java jsf pdf itext


【解决方案1】:

方法是压缩文件。它应该是高度可压缩的。

(我想您应该能够在服务器端生成 PDF 而无需将其写入磁盘,尽管在此过程中您可能会使用大量内存/Java 堆。我认为不可能交付将 PDF 发送到浏览器,而文件不会以某种形式发送到客户端 PC 的硬盘。)

【讨论】:

  • 我想我只需要在用户打印标签后删除文件。无论如何,谢谢!
  • 删除是什么意思?在用户计算机上删除它?
【解决方案2】:

如果数千个标签中除了 s/n 之外的所有内容都相同,您只需将相同的东西作为模板添加一次,然后将 s/n 文本放在上面。

看看itext中的PDFTemplate。如果我没记错的话,它会为循环绘图/标签/图像创建和 XObject.... 并且每次使用它时它都是完全相同的对象。

即使有数千个标签,唯一会增加文档大小的是序列号(以及每一页),但“标签”的图形或文本只添加一次。这应该会减少您的文件大小。

【讨论】:

  • 你有关于如何使用它的教程吗?谢谢!
  • 你可以买这本书。 itextpdf.com/book 该页面有一些链接。或者,您可以使用itextpdf.com 站点的搜索框从书中查找模板示例;搜索“模板”或“PDFTemplate”。
猜你喜欢
  • 2011-01-10
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 2020-03-03
  • 1970-01-01
相关资源
最近更新 更多