使用 Aspose.Net 保存 PDF 文件大小不断增加? - 我该如何防止呢?

Posted

技术标签:

【中文标题】使用 Aspose.Net 保存 PDF 文件大小不断增加? - 我该如何防止呢?【英文标题】:Saving a PDF using Aspose.Net Constantly Grows in File Size? - How do I prevent that? 【发布时间】:2011-10-25 16:28:11 【问题描述】:

我正在评估 Aspose.Net - 到目前为止,它非常适合我的需求。 (ITextSharp、PDFOne、CLPrint、Adobe 和 ABCPdf (WebSupergoo) 不能满足我的需求——不是这个问题的重点,所以请不要回答“你试过 X 了吗?”)

我想从文件中加载一次 PDF,然后循环,设置一些表单域,然后保存。效果很好,除了我注意到文件大小不断增长。我认为这是由于表单字段,但事实并非如此......请注意这个令人不安的代码和结果:

代码

static void Main(string[] args)

    var form = new Aspose.Pdf.Facades.Form(@"c:\test.pdf");

    for (int i = 0; i < 100; i++)
    
        using (var tempStream = new MemoryStream())
        
            form.DestStream = tempStream;

            form.Save();

            Console.WriteLine("Size: " + tempStream.Length);
        
    

令人不安的结果

你们中的任何人有没有使用 Aspose 加载一次 PDF,然后多次保存,并以某种方式克服了不断增长的文件大小问题?

附注- 如果我每次都重新更新对象,文件大小会保持较小,但这会更慢

【问题讨论】:

PDF 中有什么正在增长?也许你可以区分其中的几个 (***.com/questions/145657/how-to-compare-two-pdf-files) 看看有什么变化。 很好的问题 - 我会看看我能找到什么。 【参考方案1】:

输出文件大小随着每次迭代而增加,因为您在评估模式下使用组件。在评估模式下工作时,它会在 PDF 文件中添加评估水印。此外,在评估模式下,由于评估检查和水印等原因,组件也稍微慢了一点。

请使用带有许可证文件的组件。如果您只是在评估,那么您可以get a temporary license for 30 days 来测试应用程序而不受任何此类限制。

另外,请确保您使用的是最新版本的组件 -- Aspose.Pdf for .NET 6.3.0。

如果您仍然发现任何其他问题或问题,请与我们分享。

我还在许可证文件中添加了最后收到的输出的快照:

披露:我在 Aspose 担任开发人员布道师。

【讨论】:

你是男人 :) ...是的,我使用的是 6.3.0,是的,在我们购买之前,我将获得一个临时许可证。谢谢!

以上是关于使用 Aspose.Net 保存 PDF 文件大小不断增加? - 我该如何防止呢?的主要内容,如果未能解决你的问题,请参考以下文章

我们可以使用 iText 压缩 PDF 文件的大小吗?

PNG文件大小如何压缩?

phpexcel使用具有pdf宽度问题的tcpdf保存pdf

加快(但保持文件大小较小)将多个 PNG 转换为 PDF?

别人编写好的jasper,Java调用打印pdf怎么控制其纸张大小

c#中利用Spire.pdf控件加密解密都不让超过10页,怎么处理,才能加密解密任意大小的文件