■ RichEditDocumentServer 클래스를 사용하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
using DevExpress.Office.Utils; using DevExpress.XtraPrinting; using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit.API.Native; #region Print 버튼 클릭시 처리하기 - printButton_Click(sender, e) /// <summary> /// Print 버튼 클릭시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void printButton_Click(object sender, EventArgs e) { RichEditDocumentServer richEditDocumentServer = new RichEditDocumentServer(); richEditDocumentServer.Document.DefaultParagraphProperties.Alignment = ParagraphAlignment.Center; richEditDocumentServer.Document.Sections[0].Page.Landscape = true; richEditDocumentServer.Document.Sections[0].Page.Height = Units.InchesToDocumentsF(10.0f); richEditDocumentServer.Document.Sections[0].Page.Width = Units.InchesToDocumentsF(4.5f); richEditDocumentServer.Document.AppendText("This content is created programmatically\n"); richEditDocumentServer.Document.AppendParagraph(); InsertTable(richEditDocumentServer); using(PrintingSystem printingSystem = new PrintingSystem()) { using(PrintableComponentLink printableComponentLink = new PrintableComponentLink(printingSystem)) { printableComponentLink.Component = richEditDocumentServer; printableComponentLink.CreateDocument(); printableComponentLink.ShowPreviewDialog(); } } } #endregion #region 테이블 삽입하기 - InsertTable(richEditDocumentServer) /// <summary> /// 테이블 삽입하기 /// </summary> /// <param name="richEditDocumentServer">RichEditDocumentServer</param> private void InsertTable(RichEditDocumentServer richEditDocumentServer) { richEditDocumentServer.BeginUpdate(); Table table = richEditDocumentServer.Document.Tables.Add(richEditDocumentServer.Document.Selection.Start, 8, 8, AutoFitBehaviorType.FixedColumnWidth); table.BeginUpdate(); table.Borders.InsideHorizontalBorder.LineThickness = 1; table.Borders.InsideHorizontalBorder.LineStyle = TableBorderLineStyle.Double; table.Borders.InsideVerticalBorder.LineThickness = 1; table.Borders.InsideVerticalBorder.LineStyle = TableBorderLineStyle.Double; table.TableAlignment = TableRowAlignment.Center; table.ForEachCell ( new TableCellProcessorDelegate ( delegate(TableCell tableCell, int rowIndex, int columnIndex) { richEditDocumentServer.Document.InsertText ( tableCell.Range.Start, string.Format("{0}×{1} : {2}", rowIndex + 2, columnIndex + 2, (rowIndex + 2) * (columnIndex + 2)) ); } ) ); table.EndUpdate(); richEditDocumentServer.EndUpdate(); } #endregion |