在itext中缩小PDF文件大小(java)

时间:2011-10-10 02:58:56

标签: java jsf pdf itext

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

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

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

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

(我想你应该能够在服务器端生成PDF而不将其写入光盘,尽管你可以在这个过程中使用大量的内存/ Java堆。我认为不可能提供一个PDF到浏览器,没有文件以某种形式进入客户端PC的硬盘驱动器。)

答案 1 :(得分:0)

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

在itext中查看PDFTemplate。如果我没记错,那就是为周期性绘图/标签/图像创建和XObject ....并且每次使用它时它都是完全相同的对象。

即使有数千个标签,增加文档大小的唯一方法是s / n(和每个页面),但“标签”的图形或文本只添加一次。这应该会减少你的文件大小。