PDF使用adobe reader直接打印

时间:2015-07-14 18:59:48

标签: c# pdf printing

我尝试使用此代码进行PDF打印,但当 Adob​​e Reader 打开时,会出现错误

  找不到

文件和目录

代码运行正常并打开Adobe但不加载文件进行打印。而是显示错误对话框。谁能告诉我哪里错了?

private void PrintFormPdfData(byte[] formPdfData)
    {`enter code here`
        string tempFile;

        tempFile = Path.GetTempFileName();



        using (FileStream fs = new FileStream(tempFile, FileMode.Create))
        {
            fs.Write(formPdfData, 0, formPdfData.Length);
            fs.Flush();
        }

        try
        {
            string gsArguments;
            string gsLocation;
            ProcessStartInfo gsProcessInfo;
            Process gsProcess;

            gsArguments = string.Format("-grey -noquery -printer \"HP LaserJet 5M\" \"{0}\"", tempFile);
            gsLocation = @"C:\Program Files\Ghostgum\gsview\gsprint.exe";

            gsProcessInfo = new ProcessStartInfo();
            gsProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;
            gsProcessInfo.FileName = gsLocation;
            gsProcessInfo.Arguments = gsArguments;

            gsProcess = Process.Start(gsProcessInfo);
            gsProcess.WaitForExit();
        }
        finally
        {
            File.Delete(tempFile);
        }
    }

1 个答案:

答案 0 :(得分:-1)

缺少fs.Close()。所以gsprint无法打开文件。

注意:关闭前冲洗是没用的。