static void Main(string[] args) { var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var templateFile = Path.Combine(dir, "template.dotx"); var dataFile = Path.Combine(dir, "template.json"); using (var documentServer = new RichEditDocumentServer()) { if (File.Exists(templateFile) && documentServer.LoadFileInDetectionMode(templateFile)) { } else { throw new Exception("Could not load file"); } documentServer.BeginUpdate(); try { var dataText = File.ReadAllText(dataFile); var template = JsonConvert.DeserializeObject <Template>(dataText); InsertItems(documentServer.Document, template); } finally { documentServer.EndUpdate(); } SaveDocument(dir, documentServer); } }
private void btn_Print_Click(object sender, EventArgs e) { #region #serverprint RichEditDocumentServer richServer = new RichEditDocumentServer(); // Specify default formatting richServer.Document.DefaultParagraphProperties.Alignment = ParagraphAlignment.Center; // Specify page settings richServer.Document.Sections[0].Page.Landscape = true; richServer.Document.Sections[0].Page.Height = DevExpress.Office.Utils.Units.InchesToDocumentsF(10.0f); richServer.Document.Sections[0].Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(4.5f); // Add document content richServer.Document.AppendText("This content is created programmatically\n"); richServer.Document.Paragraphs.Append(); //Create a table richServer.BeginUpdate(); Table _table = richServer.Document.Tables.Create(richServer.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((cell, rowIndex, columnIndex) => { richServer.Document.InsertText(cell.Range.Start, String.Format("{0}*{1} is {2}", rowIndex + 2, columnIndex + 2, (rowIndex + 2) * (columnIndex + 2))); }); _table.EndUpdate(); richServer.EndUpdate(); // Invoke the Print Preview dialog using (PrintingSystem printingSystem = new PrintingSystem()) { using (PrintableComponentLink link = new PrintableComponentLink(printingSystem)) { link.Component = richServer; link.CreateDocument(); link.ShowPreviewDialog(); } } #endregion #serverprint }
static void InsertBookmark(RichEditDocumentServer server) { #region #InsertBookmark server.LoadDocument("Documents\\Grimm.docx", DocumentFormat.OpenXml); server.BeginUpdate(); Document document = server.Document; DocumentPosition pos = document.Range.Start; document.Bookmarks.Create(server.Document.CreateRange(pos, 0), "Top"); //Insert the hyperlink anchored to the created bookmark: DocumentPosition pos1 = document.CreatePosition((server.Document.Range.End).ToInt() + 25); document.Hyperlinks.Create(server.Document.InsertText(pos1, "get to the top")); document.Hyperlinks[0].Anchor = "Top"; server.EndUpdate(); #endregion #InsertBookmark }
private void PrtContent(string strText) { RichEditDocumentServer server = new RichEditDocumentServer(); //server.LoadDocument(strFileName, DocumentFormat.Html); server.BeginUpdate(); server.Document.HtmlText = strText; server.Document.Unit = DocumentUnit.Point; foreach (Section section in server.Document.Sections) { //section.Page.PaperKind = PaperKind.Custom; section.Page.Landscape = false; section.Page.Width = 200; section.Margins.Left = 1f; section.Margins.Right = 1f; section.Margins.Top = 0f; section.Margins.Bottom = 0f; } server.Document.DefaultParagraphProperties.Alignment = ParagraphAlignment.Center; PrintableComponentLink link = new PrintableComponentLink(); PrintingSystem ps = new PrintingSystem(); ps.Links.Add(link); link.Component = server; link.PrintingSystem.ShowMarginsWarning = false; link.PrintingSystem.ShowPrintStatusDialog = false; link.CreateDocument(); //PrinterSettings pSet = new PrinterSettings(); //pSet.Copies = 2; //pSet.PrinterName = strDefaultPrintName; //ps.PreviewFormEx.Show(); //link.ShowPreview(); SetRichTextValue(DateTime.Now.ToString("o") + "###Print Count = 1###"); server.Print(); //ps.PreviewFormEx.Show(); //link.ShowPreview(); //link.Print(); //ps.Print(); }
private void btn_PrintFromServer_Click(object sender, EventArgs e) { RichEditDocumentServer srv = new RichEditDocumentServer(); srv.LoadDocument("Grimm.docx", DocumentFormat.OpenXml); // Insert a field displaying the current date/time into the document header. srv.BeginUpdate(); SubDocument _header = srv.Document.Sections[0].BeginUpdateHeader(); _header.Fields.Create(_header.Range.Start, "DATE \\@ \"dddd, MMMM dd, yyyy HH:mm:ss\" \\MERGEFORMAT"); _header.Paragraphs[0].Alignment = ParagraphAlignment.Right; srv.Document.Sections[0].EndUpdateHeader(_header); // Specify page margins, orientation, etc. SetPrintOptions(srv); srv.EndUpdate(); // Display field values instead of code. srv.Options.MailMerge.ViewMergedData = true; // Create a printable link to print a document. PrintViaLink(srv); }