0

我们使用了一个 winform 应用程序,用于AdobeReader从特定目录打印文件。最近,我们重构了这个应用程序,将 Adob​​eReader 替换为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();

                }
            }
4

1 回答 1

0

只是为了更新,我们已经放弃了 Ghostscript 方法,而是使用 iTextSharp 来获取文档实例并打印它。从技术上讲,iTextSharp 不会操作文档,而是在打印前将其包装起来。

于 2016-07-19T15:05:44.300 回答