无法打印文档
本文关键字:文档 打印 | 更新日期: 2023-09-27 18:03:33
我使用的方法之一:
PrintDocument doc = new PrintDocument();
doc.PrinterSettings.PrinterName = "printername";
string[] files = Directory.GetFiles("D:''Invoice");
foreach (string file in files)
{
string fname = Path.GetFileName(file);
doc.DocumentName = fname;
doc.Print();
Console.WriteLine(file);
}
这在doc.Print()行给出一个异常。
"访问打印机'printername'的设置无效。"
我使用的另一种方法:
Process printJob = new Process();
printJob.StartInfo.FileName = @"C:'Program Files (x86)'Adobe'Reader 10.0'Reader'AcroRD32.exe";
printJob.StartInfo.UseShellExecute = false;
printJob.StartInfo.Verb = "Print";
printJob.StartInfo.CreateNoWindow = true;
printJob.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
printJob.StartInfo.Arguments = "'"" + printerAddress + "'"";
string[] files = Directory.GetFiles("D:''Invoice");
foreach (string file in files)
{
string fname = Path.GetFileName(file);
printJob.StartInfo.WorkingDirectory = Path.GetDirectoryName(fname);
printJob.Start();
//Console.WriteLine(fname);
}
在printJob.Start()之后给出一个错误。由于是pdf文件,它打开Adobe阅读器并在那里显示错误消息。
有人能在这些问题上帮助我吗?"打开文档出错。"找不到文件。"
在第二个代码片段中,这似乎是错误的:
string fname = Path.GetFileName(file);
printJob.StartInfo.WorkingDirectory = Path.GetDirectoryName(fname);
printJob.Start();
您只需要设置WorkingDirectory
。printJob
如何获得实际的文件名?
在第一个代码片段中,您可能没有设置所有内容。你检查过MSDN文档了吗?在SO.