Ghostscript 在压缩后增加了文件大小
Ghostscript is increasing file size after compressing
我使用以下方法压缩pdf:
private bool CompressPDF(string Input, string Output, string CompressValue)
{
try
{
Process proc = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = true;
psi.ErrorDialog = false;
psi.UseShellExecute = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = string.Concat(Path.GetDirectoryName(Application.ExecutablePath), "\ghost.exe");
string args = "-sDEVICE=pdfwrite -dCompatibilityLevel=1.4" + " -dPDFSETTINGS=/" + CompressValue + " -dNOPAUSE -dQUIET -dBATCH" + " -sOutputFile=\"" + Output + "\" " + "\"" + Input + "\"";
psi.Arguments = args;
//start the execution
proc.StartInfo = psi;
proc.Start();
proc.WaitForExit();
return true;
}
catch
{
return false;
}
}
我默认将pdf设置放在“打印机”上。我不明白为什么我的 pdf 文件的文件大小有时会增加。
Ghostscript(更准确地说是它的 pdfwrite 设备)不 'compress' 文件。
通过明智地使用设置(例如缩减图像采样以换取文件大小的质量),有可能生成更小的文件,但绝对不能保证一定是这种情况。
在没有看到输入文件的情况下,无法评论文件大小增加的原因,但是(例如)PDF 1.5 文件可以使用压缩流和外部参照,而 pdfwrite 设备从不使用这些,所以这可能是一个原因。
罐头 'PDFSETTINGS' 涵盖了大量不同的控件,您应该阅读这些控件并了解实际发生的情况。如果您的原始文件碰巧已经用质量换取大小,那么打印机设置(相当保守)很可能根本不会做任何事情。
我使用以下方法压缩pdf:
private bool CompressPDF(string Input, string Output, string CompressValue)
{
try
{
Process proc = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = true;
psi.ErrorDialog = false;
psi.UseShellExecute = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = string.Concat(Path.GetDirectoryName(Application.ExecutablePath), "\ghost.exe");
string args = "-sDEVICE=pdfwrite -dCompatibilityLevel=1.4" + " -dPDFSETTINGS=/" + CompressValue + " -dNOPAUSE -dQUIET -dBATCH" + " -sOutputFile=\"" + Output + "\" " + "\"" + Input + "\"";
psi.Arguments = args;
//start the execution
proc.StartInfo = psi;
proc.Start();
proc.WaitForExit();
return true;
}
catch
{
return false;
}
}
我默认将pdf设置放在“打印机”上。我不明白为什么我的 pdf 文件的文件大小有时会增加。
Ghostscript(更准确地说是它的 pdfwrite 设备)不 'compress' 文件。
通过明智地使用设置(例如缩减图像采样以换取文件大小的质量),有可能生成更小的文件,但绝对不能保证一定是这种情况。
在没有看到输入文件的情况下,无法评论文件大小增加的原因,但是(例如)PDF 1.5 文件可以使用压缩流和外部参照,而 pdfwrite 设备从不使用这些,所以这可能是一个原因。
罐头 'PDFSETTINGS' 涵盖了大量不同的控件,您应该阅读这些控件并了解实际发生的情况。如果您的原始文件碰巧已经用质量换取大小,那么打印机设置(相当保守)很可能根本不会做任何事情。