我有一个从用户自己的图像创建pdf书的系统。图像分辨率很高,pdf最终大约70页,其中大部分是图片。
当在服务器上的本地应用程序中生成pdf时,该进程使用大约3Gb的ram,这使得它更频繁地崩溃然后成功。文件也非常庞大,大约1,2 Gb。通过打印到pdf运行它会使它小一百倍。
有没有办法让ABCPdf使用更少的内存并创建更小的文件?
答案 0 :(得分:1)
我和iTextSharp有过非常相似的经历,在我创建带有图像的大型PDF时,我基本上都没有内存。
我发现有一个功能,我应该在完成图像后调用它来释放图像,因为它将它保存在内存中,以防你想再次使用它或直到你最终关闭PDF。
如果图像重复页眉/页脚徽标,则重复使用图像,或者在旅途中释放图像 最有可能的是你面临的问题,但我没有ABCPdf的经验。
答案 1 :(得分:1)
我没有直接使用ABCPdf,但我怀疑图像是问题的根源,在将它们包含在PDF对象之前调整它们的大小。我怀疑这是一个打印到PDF的过程。