减少itext(java)中的PDF文件大小

减少itext(java)中的PDF文件大小,java,jsf,pdf,itext,Java,Jsf,Pdf,Itext,我正在创建一个基于Web的标签打印系统。对于每个标签,都应该有一个唯一的序列号。因此,当用户决定创建1000个标签(具有相同的数据)时,所有标签都应具有唯一的序列号,因此pdf将有1000个页面,从而增加文件大小 我的问题是,当用户决定创建更多副本时,文件大小会变大 是否有任何方法可以使用Itext减小pdf的文件大小?或者是否有任何方法可以生成pdf并在浏览器中输出,而不将其保存到服务器/客户端的硬盘 谢谢你的帮助 上的方法是压缩文件。它应该是高度可压缩的 (我认为您应该能够在服务器端生成PD

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

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

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


谢谢你的帮助

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


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

如果数千个标签的序列号之外的所有内容都是相同的,则只需添加一次相同的内容作为模板,并将序列号文本放在其上方

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


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

@Adel-序列号,序列号。这并不重要。关键是它是唯一的。我想我只需要在用户打印标签后删除该文件。无论如何谢谢你!你说的删除是什么意思?在用户计算机上删除它?你有关于如何使用它的教程吗?谢谢你可以买这本书。那个页面有一些链接。或者,您可以使用网站的搜索框从书中查找模板示例;搜索“模板”或“PDFTemplate”。