RichEditDocumentServer Class
A non-visual .NET library providing all the word processing functionality.
Namespace: DevExpress.XtraRichEdit
Assembly: DevExpress.RichEdit.v24.2.Core.dll
NuGet Package: DevExpress.RichEdit.Core
Declaration
[ComVisible(true)]
public class RichEditDocumentServer :
IRichEditDocumentServer,
IBatchUpdateable,
IServiceContainer,
IServiceProvider,
IDisposable,
IInternalRichEditDocumentServerOwner,
IBasePrintable
Remarks
Use the RichEditDocumentServer component to modify a document without user interaction. It enables you to automate such common tasks as format conversion, character and paragraph formatting, table operations, adjusting page layout options and mail merging. Refer to the Word Processing Document API topic for a full list of supported features.
Check the Get Started - Create a Word Document topic to get started with the Word Processing Document API.
The Word Processing Document API is available as part of the Office File API (Basic Edition) subscription.
Warning
The Office File API (Basic Edition), which included the Word Processing Document API and Excel Export API libraries, was discontinued on October 17, 2024. If you purchased a DevExpress Universal, DXperience, WinForms, WPF, Office File API, Reporting and ASP.NET subscription prior to October 17, 2024, our Office File API (Basic Edition) will remain available to you. If you are new to DevExpress and are interested in our Office File API, please refer to the following webpage for pricing/licensing information: DevExpress Office File API
Example
The following code snippet uses RichEditDocumentServer
to create a new document, modify and print it.
Note
The code sample uses the PrintingSystem class. Make sure that the DevExpress.XtraPrinting.v24.2.dll assembly is added to your project.
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.XtraPrinting;
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
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 = BorderLineStyle.Double;
_table.Borders.InsideVerticalBorder.LineThickness = 1;
_table.Borders.InsideVerticalBorder.LineStyle = BorderLineStyle.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();
// Invoke the Print Preview dialog
using (PrintingSystem printingSystem = new PrintingSystem())
{
using (PrintableComponentLink link = new PrintableComponentLink(printingSystem))
{
link.Component = richServer;
link.CreateDocument();
link.ShowPreviewDialog();
}
}