/// <summary> /// 打印合并 /// </summary> private void PrintPdf() { try { DirectoryInfo mydir = new DirectoryInfo(path); FileSystemInfo[] fsis = mydir.GetFileSystemInfos(); List<string> pdfList = new List<string>(); foreach (FileSystemInfo fsi in fsis) { if (fsi is FileInfo) { FileInfo fi = (FileInfo)fsi; pdfList.Add(fi.FullName); } } var mergeFilePath = string.Format("{0}/{1}.pdf", path, DateTime.Now.ToString("yyyyMMddHHmmss") + '(' + Guid.NewGuid() + ')'); MergePDFFile(pdfList, mergeFilePath); PrintHelper printHelper = new PrintHelper(); printHelper.PrindPdf(mergeFilePath, cmbPrinter.Text); listBoxLog.Items.Add(DateTime.Now.ToString("MM-dd HH:mm:ss") + "打印结束。"); LogManage.WriteLog(LogManage.LogFile.Trace, DateTime.Now.ToString("MM-dd HH:mm:ss") + "打印结束。"); this.btnStart.Enabled = true; this.btnBreak.Enabled = false; listBoxLog.SelectedIndex = listBoxLog.Items.Count - 1; } catch (Exception ex) { MessageBox.Show(ex.Message); LogManage.WriteLog(LogManage.LogFile.Error, ex.Message); } }
/// <summary> /// 打印主线程方法 /// </summary> private void PrintMain() { try { DirectoryInfo mydir = new DirectoryInfo(path); FileSystemInfo[] fsis = mydir.GetFileSystemInfos(); int i = 0; foreach (FileSystemInfo fsi in fsis) { if (i != 0 && i % Convert.ToInt32(txtCount.Text) == 0) { listBoxLog.Items.Add(DateTime.Now.ToString("MM-dd HH:mm:ss") + "已经打印" + i + "正在休息"); Thread.Sleep(Convert.ToInt32(txtRestTime.Text) * 1000); } i++; if (!isStart) break; if (pause) { pause = false; } if (fsi is FileInfo) { FileInfo fi = (FileInfo)fsi; PrintHelper printHelper = new PrintHelper(); printHelper.Print(fi.FullName, cmbPrinter.Text); string message = DateTime.Now.ToString("MM-dd HH:mm:ss") + "正在打印" + fi.Name + "……"; listBoxLog.Items.Add(message); LogManage.WriteLog(LogManage.LogFile.Trace, message); } listBoxLog.SelectedIndex = listBoxLog.Items.Count - 1; } listBoxLog.Items.Add(DateTime.Now.ToString("MM-dd HH:mm:ss") + "打印结束。"); LogManage.WriteLog(LogManage.LogFile.Trace, DateTime.Now.ToString("MM-dd HH:mm:ss") + "打印结束。"); this.btnStart.Enabled = true; this.btnBreak.Enabled = false; listBoxLog.SelectedIndex = listBoxLog.Items.Count - 1; } catch (Exception ex) { MessageBox.Show(ex.Message); LogManage.WriteLog(LogManage.LogFile.Error, ex.Message); } }