我已使用以下问题的答案中详述的方法将水印部署到现有的pdf文件中:How to append PDF pages using PyPDF2
但是,在此合并过程中,取决于我部署的水印,pdf的大小至少翻倍,并且通常几乎翻三倍(以供参考,从10MB到近30MB)。我需要使尺寸更接近pdf的原始尺寸。
在合并过程中是否有办法实现这一目标?还是没有,是否有一种方法可以通过PyPDF2或任何其他python包进行部署以大大减少文件的大小?
我进行了搜索,但目前找不到合理的解决方案(除了可能通过Adobe软件手动减小尺寸)。不过,这不是一个合适的解决方案,因为我需要简化以实现自动化。
另外,出于兴趣,特别是考虑到水印仅是原始pdf大小的一部分,文件的大小增加了一倍以上吗?
我这里没有详细说明任何特定代码(除了通过链接的问答间接地),因为它似乎没有必要。不过,如果需要进一步的信息,请让我知道!
谢谢!
答案 0 :(得分:1)
关键问题是,如果要使用mergePage给n个页面添加水印,则很可能将n个水印页面资源副本引入文档中,而不是将n次重复使用1个水印副本。 字体或图像资源的N个副本会产生大量开销。我在PyPDF2中没有找到解决此问题的方法。我的公司Datalogics确实提供了PDFOptimizer产品,该产品可以自动删除多余的资源。