我们使用了一个 winform 应用程序,用于AdobeReader
从特定目录打印文件。最近,我们重构了这个应用程序,将 AdobeReader 替换为Ghost 脚本。AdobeReader 可以正确打印文档(根据文档格式,如字体、对齐方式、行距等)。但是 Ghost 脚本在不符合文档格式的情况下打印文档。有什么建议吗?
仅供参考:PrintParamter
是一种自定义类型,其中包含要打印的文件名/路径的详细信息,GetDefaultPrinter()
是一种返回默认打印机的帮助方法。
private void PrintDocument(PrintParamter fs, string printerName = null, bool isPortrait = true,
int noOfCopies = 1, bool printInGrey = false)
{
var filename = fs.FullyQualifiedName ?? string.Empty;
printerName = printerName ?? GetDefaultPrinter();
var processArgs = string.Format("-noquery {0} -dNumCopies={1} -all {4} -printer \"{2}\" \"{3}\"",
isPortrait ? "-portrait" : "-landscape", noOfCopies != 1 ? noOfCopies : 1,
printerName, filename, printInGrey ? "-grey" : "-colour");
try
{
var gsProcessInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
FileName = _ghostScriptLocation,
Arguments = processArgs
};
using (var gsProcess = Process.Start(gsProcessInfo))
{
gsProcess.WaitForExit();
}
}