私が使用した方法の1つ:
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ファイルなので、アドビリーダーを開き、そこにエラーメッセージを表示します。それは説明します。
「ドキュメントを開くときにエラーが発生しました。ファイルが見つかりませんでした。」
誰でもこれらの問題について私を助けることができますか?