/// <summary> /// 打印富文本内容 /// </summary> /// <param name="printDocument">打印文档</param> /// <param name="preview">预览对象</param> public void PrintRTF(PrintDocument printDocument, bool preview) { try { printDocument.BeginPrint += new System.Drawing.Printing.PrintEventHandler(this.printDocument_BeginPrint); printDocument.EndPrint += new System.Drawing.Printing.PrintEventHandler(this.printDocument_EndPrint); printDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument_PrintPage); CoolPrintPreviewDialog dlg = new CoolPrintPreviewDialog(); dlg.Document = printDocument; if (preview) { if (dlg.ShowDialog() == DialogResult.OK) { printDocument.Print(); } } else { printDocument.Print(); } } catch (Exception ex) { LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(ExRichTextBoxPrintHelper)); MessageDxUtil.ShowError(ex.Message); return; } }
/// <summary> /// Use a .NET PrintPreview Dialog to print (or not print) this (possibly multi-page) HTML document. /// </summary> /// <param name="HtmlPages"></param> public static void PreviewOrPrint(String HtmlPages) { System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument(); bool printerInstalled = printDocument.PrinterSettings.IsValid; if (!printerInstalled) { MessageBox.Show(Catalog.GetString("There is no printer, so printing is not possible")); return; } TGfxPrinter GfxPrinter = new TGfxPrinter(printDocument, TGfxPrinter.ePrinterBehaviour.eFormLetter); TPrinterHtml htmlPrinter = new TPrinterHtml(HtmlPages, TAppSettingsManager.GetValue("Formletters.Path"), GfxPrinter); GfxPrinter.Init(eOrientation.ePortrait, htmlPrinter, eMarginType.ePrintableArea); CoolPrintPreviewDialog PrintDlg = new CoolPrintPreviewDialog(); PrintDlg.Document = GfxPrinter.Document; PrintDlg.ClientSize = new System.Drawing.Size(500, 720); try { PrintDlg.ShowDialog(); } catch (Exception) // if the user presses Cancel, an exception may be raised! { } }
private void button1_Click(object sender, EventArgs e) { c.setPrint("Sales_Voucher", this.where, 1); parent.load_color(); using (var dlg = new CoolPrintPreviewDialog()) { dlg.Document = this.printDocument1; dlg.WindowState = FormWindowState.Maximized; dlg.ShowDialog(this); } //printPreviewDialog1.ShowDialog(); }
private void printButton_Click(object sender, EventArgs e) { if (dataGridView5.RowCount == 0) { c.ErrorBox("Please Select Cartons to Print", "Error"); return; } this.cartons_to_print.Clear(); this.cartons_to_print_fiscal_year.Clear(); int rows = dataGridView5.Rows.Count; string sql = "begin transaction; begin try;\n"; for (int i = 0; i < dataGridView5.RowCount; i++) { int carton = int.Parse(dataGridView5.Rows[i].Cells[dataGridView5.Columns["Carton No."].Index].Value.ToString()); string fiscal_year = dataGridView5.Rows[i].Cells[dataGridView5.Columns["Financial Year"].Index].Value.ToString(); this.cartons_to_print.Add(carton); this.cartons_to_print_fiscal_year.Add(fiscal_year); sql += "UPDATE Carton_Produced SET Printed=1 WHERE Carton_No = '" + carton + "' AND Fiscal_Year = '" + fiscal_year + "';\n"; } sql += "commit transaction; end try BEGIN CATCH rollback transaction; "; sql += "DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); "; sql += "RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState); END CATCH; "; DataTable d = c.runQuery(sql); //set print //Load firmDetails in dictionary int print_type_id = int.Parse(firmDetailsCB.SelectedItem.ToString().Split(':')[1]); for (int i = 0; i < dt_printTypes.Rows.Count; i++) { if (dt_printTypes.Rows[i]["Print_Type_ID"].ToString() == print_type_id.ToString()) { for (int j = 0; j < dt_printTypes.Columns.Count - 1; j++) { firmDetails[dt_printTypes.Columns[j].ColumnName] = dt_printTypes.Rows[i][j].ToString(); } break; } } this.slip_count = cartons_to_print.Count; using (var dlg = new CoolPrintPreviewDialog()) { dlg.Document = this.printDocument1; dlg.WindowState = FormWindowState.Maximized; dlg.ShowDialog(this); } //printPreviewDialog1.ShowDialog(); }
public static void Print_GridView(GridView dgv1, string title) { CoolPrintPreviewDialog ppvw; try { // Getting GridView object to print dgv = dgv1; PrintTitle = title; // Getting all Coulmns Names in the GridView AvailableColumns.Clear(); foreach (GridColumn c in dgv.Columns) { if (!c.Visible) { continue; } AvailableColumns.Add(c.Caption); } // Showing the PrintOption Form PrintOptions dlg = new PrintOptions(AvailableColumns); //加载注册表中的内容 string itemNameInRegister = dgv.GetType().GUID.ToString(); string checkItems = RegistryHelper.GetValue(itemNameInRegister); if (!string.IsNullOrEmpty(checkItems)) { string[] items = checkItems.Split(','); dlg.SetCheckedItems(items); } dlg.PrintTitle = PrintTitle;//先赋值给对话框 if (dlg.ShowDialog() != DialogResult.OK) { return; } //保存选项内容 string selectedString = ""; List <string> selectedItems = dlg.GetCheckItems(); foreach (string item in selectedItems) { selectedString += string.Format("{0},", item); } selectedString = selectedString.Trim(','); RegistryHelper.SaveValue(itemNameInRegister, selectedString); PrintTitle = dlg.PrintTitle; PrintAllRows = dlg.PrintAllRows; FitToPageWidth = dlg.FitToPageWidth; SelectedColumns = dlg.GetSelectedColumns(); RowsPerPage = 0; ppvw = new CoolPrintPreviewDialog(); ppvw.Document = printDoc; // Showing the Print Preview Page printDoc.BeginPrint += new System.Drawing.Printing.PrintEventHandler(PrintDoc_BeginPrint); printDoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintDoc_PrintPage); if (ppvw.ShowDialog() != DialogResult.OK) { printDoc.BeginPrint -= new System.Drawing.Printing.PrintEventHandler(PrintDoc_BeginPrint); printDoc.PrintPage -= new System.Drawing.Printing.PrintPageEventHandler(PrintDoc_PrintPage); return; } // Printing the Documnet printDoc.Print(); printDoc.BeginPrint -= new System.Drawing.Printing.PrintEventHandler(PrintDoc_BeginPrint); printDoc.PrintPage -= new System.Drawing.Printing.PrintPageEventHandler(PrintDoc_PrintPage); } catch (Exception ex) { LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(PrintDGV)); MessageDxUtil.ShowError(ex.Message); } finally { } }