我尝试使用此代码进行PDF打印,但当 Adobe 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);
}
}
答案 0 :(得分:-1)
缺少fs.Close()。所以gsprint无法打开文件。
注意:关闭前冲洗是没用的。