我有一个大小为230KB的pdf
模板。在我的WebAPI
中为多个用户提供该模板的副本,将数据推送到该用户,并使用iTextsharp
库进行合并。对于1500个用户,总文件大小最多可达320 MB。
我尝试使用BitMiracle
,它将文件大小减小到160 MB。但它仍然是一个大文件。
我使用acrobat Pro
并使用Save as Other
选项Reduced Size PDF
,它将文件大小减小到25 MB。
我希望使用C#
在我的WebAPI中将文件大小减小到25MB,稍后将托管在服务器上。
由于用户不应该编辑PDF
,他只会将其存储为记录。我可以生成一个后期脚本文件,然后使用acrobat蒸馏器来减小尺寸吗?如果是,我该怎么办?
我正在使用ghostscript.Net
。写了这个方法,它没有抛出任何错误。但我无法找到生成的postscript文件的路径
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;
}
}
请帮忙
答案 0 :(得分:0)
模板是否嵌入了字体?可能合并并没有组合这些字体。如果您不需要嵌入字体,则可以删除它们。 Adobe在组合嵌入字体方面做得很好。
如果你想要,你可以发给我这么大的pdf文件,以便我能理解,为什么这个文件变得如此之大。我是一个PDF库的开发人员,获得最小的PDF是我正在研究的一个有趣的用例。