1

我有一个pdf大小为 230KB 的模板。在我WebAPI的多个用户中,获取该模板的副本,将数据推送给它,并使用iTextsharp库进行合并。对于 1500 个用户,总文件大小达到 320 MB。

我尝试使用BitMiracle,它将文件大小减小到 160 MB。但它仍然是一个大文件。

我使用acrobat Pro并使用了Save as Otheroption Reduced Size PDF,它将文件大小减小到 25 MB。

我想在我的 WebAPI 中将文件大小减少到 25MB,稍后C#将使用它托管在服务器上。

由于用户不应该编辑它PDF,他只会将其存储为记录。我可以生成一个后期脚本文件,然后使用 acrobat distiller 来减小大小吗?如果可以,我该怎么做?

我正在使用ghostscript.Net. 写了这个方法,它没有抛出任何错误。但我找不到生成的后记文件的路径

    public void convertToPs(string file)
    {
        try
        {
            Process printProcess = new Process();

            printProcess.StartInfo.FileName = file;
            printProcess.StartInfo.Verb = "printto";
            printProcess.StartInfo.Arguments = "\"Ghostscript PDF\"";
            printProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            printProcess.StartInfo.CreateNoWindow = true;
            printProcess.Start();

            // Wait until the PostScript file is created
            try
            {
                printProcess.WaitForExit();
            }
            catch (InvalidOperationException) { }

            printProcess.Dispose();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

请帮忙

4

1 回答 1

0

模板是否有嵌入字体?可能合并不会结合这些字体。如果您不需要嵌入式字体,您可以删除它们。Adobe 在组合嵌入字体方面做得很好。

如果你愿意,你可以给我发这么大的 pdf 文件,这样我就可以理解,为什么这个文件会变得这么大。我是 PDF 库的开发人员,获得最小的 PDF 是我正在研究的一个有趣的用例。

于 2017-07-21T13:51:49.150 回答