Back to Devexpress

RichEditDocumentServer Class

officefileapi-devexpress-dot-xtrarichedit.md

latest19.6 KB
Original Source

RichEditDocumentServer Class

A non-visual .NET library providing all the word processing functionality.

Namespace : DevExpress.XtraRichEdit

Assembly : DevExpress.RichEdit.v25.2.Core.dll

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
[ComVisible(true)]
[DXLicenseDocsBasic]
public class RichEditDocumentServer :
    IRichEditDocumentServer,
    IBatchUpdateable,
    IServiceContainer,
    IServiceProvider,
    IDisposable,
    IInternalRichEditDocumentServerOwner,
    IBasePrintable,
    IPrintingTarget
vb
<ComVisible(True)>
<DXLicenseDocsBasic>
Public Class RichEditDocumentServer
    Implements IRichEditDocumentServer,
               IBatchUpdateable,
               IServiceContainer,
               IServiceProvider,
               IDisposable,
               IInternalRichEditDocumentServerOwner,
               IBasePrintable,
               IPrintingTarget

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.

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.v25.2.dll assembly is added to your project.

View Example

csharp
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using DevExpress.XtraPrinting;

RichEditDocumentServer wordProcessor = new RichEditDocumentServer();
// Specify default formatting
wordProcessor.Document.DefaultParagraphProperties.Alignment = ParagraphAlignment.Center;
// Specify page settings
wordProcessor.Document.Sections[0].Page.Landscape = true;
wordProcessor.Document.Sections[0].Page.Height = DevExpress.Office.Utils.Units.InchesToDocumentsF(10.0f);
wordProcessor.Document.Sections[0].Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(4.5f);
// Add document content
wordProcessor.Document.AppendText("This content is created programmatically\n");
ricwordProcessorhServer.Document.Paragraphs.Append();

//Create a table
Table _table = wordProcessor.Document.Tables.Create(wordProcessor.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) =>
{
    wordProcessor.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 = wordProcessor;
        link.CreateDocument();
        link.ShowPreviewDialog();
    }
}
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native
Imports DevExpress.XtraPrinting

Dim wordProcessor As New RichEditDocumentServer()

' Specify default formatting
wordProcessor.Document.DefaultParagraphProperties.Alignment = ParagraphAlignment.Center

' Specify page settings
wordProcessor.Document.Sections(0).Page.Landscape = True
wordProcessor.Document.Sections(0).Page.Height = DevExpress.Office.Utils.Units.InchesToDocumentsF(10.0F)
wordProcessor.Document.Sections(0).Page.Width = DevExpress.Office.Utils.Units.InchesToDocumentsF(4.5F)

' Add document content
wordProcessor.Document.AppendText("This content is created programmatically" & Constants.vbLf)
wordProcessor.Document.Paragraphs.Append()

' Create a table
wordProcessor.BeginUpdate()

Dim _table As Table = wordProcessor.Document.Tables.Create(wordProcessor.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(Sub(cell, rowIndex, columnIndex)
                        wordProcessor.Document.InsertText(cell.Range.Start, String.Format("{0}*{1} is {2}",
                                    rowIndex + 2, columnIndex + 2, (rowIndex + 2) * (columnIndex + 2)))
                    End Sub)
_table.EndUpdate()

wordProcessor.EndUpdate()

' Invoke the Print Preview dialog
Using printingSystem As New PrintingSystem()
    Using link As New PrintableComponentLink(printingSystem)
        link.Component = wordProcessor
        link.CreateDocument()
        link.ShowPreviewDialog()
    End Using
End Using

Implements

IRichEditDocumentServer

IServiceProvider

IDisposable

IBasePrintable

DevExpress.Printing.Native.IPrintingTarget

Inheritance

Object RichEditDocumentServer

Extension Methods

Show 55 items

GetChunks(Int32)

LoadDocumentAsync(Stream)

LoadDocumentAsync(Stream, CancellationToken)

LoadDocumentAsync(Stream, DocumentFormat)

LoadDocumentAsync(Stream, DocumentFormat, CancellationToken)

LoadDocumentAsync(String)

LoadDocumentAsync(String, CancellationToken)

LoadDocumentAsync(String, DocumentFormat)

LoadDocumentAsync(String, DocumentFormat, CancellationToken)

LoadDocumentAsync(Stream, DocumentFormat, String)

LoadDocumentAsync(Stream, DocumentFormat, String, CancellationToken)

LoadDocumentAsync(String, DocumentFormat, String)

LoadDocumentAsync(String, DocumentFormat, String, CancellationToken)

LoadDocumentAsync(Byte[])

LoadDocumentAsync(Byte[], CancellationToken)

LoadDocumentAsync(Byte[], DocumentFormat)

LoadDocumentAsync(Byte[], DocumentFormat, CancellationToken)

LoadDocumentAsync(Byte[], DocumentFormat, String)

LoadDocumentAsync(Byte[], DocumentFormat, String, CancellationToken)

LoadDocumentTemplateAsync(Byte[])

LoadDocumentTemplateAsync(Byte[], CancellationToken)

LoadDocumentTemplateAsync(Byte[], DocumentFormat)

LoadDocumentTemplateAsync(Byte[], DocumentFormat, CancellationToken)

LoadDocumentTemplateAsync(String)

LoadDocumentTemplateAsync(String, CancellationToken)

LoadDocumentTemplateAsync(String, DocumentFormat)

LoadDocumentTemplateAsync(String, DocumentFormat, CancellationToken)

LoadDocumentTemplateAsync(Stream)

LoadDocumentTemplateAsync(Stream, CancellationToken)

LoadDocumentTemplateAsync(Stream, DocumentFormat)

LoadDocumentTemplateAsync(Stream, DocumentFormat, CancellationToken)

SaveDocumentAsync(String, DocumentFormat)

SaveDocumentAsync(String, DocumentFormat, CancellationToken)

SaveDocumentAsync(Stream, DocumentFormat)

SaveDocumentAsync(Stream, DocumentFormat, CancellationToken)

SaveDocumentAsync(Stream, DocumentFormat, EncryptionSettings)

SaveDocumentAsync(Stream, DocumentFormat, EncryptionSettings, CancellationToken)

SaveDocumentAsync(String, DocumentFormat, EncryptionSettings)

SaveDocumentAsync(String, DocumentFormat, EncryptionSettings, CancellationToken)

SaveDocumentAsync(DocumentFormat)

SaveDocumentAsync(DocumentFormat, CancellationToken)

SaveDocumentAsync(DocumentFormat, EncryptionSettings)

SaveDocumentAsync(DocumentFormat, EncryptionSettings, CancellationToken)

ExportToPdfAsync(Stream)

ExportToPdfAsync(Stream, CancellationToken)

ExportToPdfAsync(Stream, PdfExportOptions)

ExportToPdfAsync(Stream, PdfExportOptions, CancellationToken)

ExportToPdfAsync(String)

ExportToPdfAsync(String, CancellationToken)

ExportToPdfAsync(String, PdfExportOptions)

ExportToPdfAsync(String, PdfExportOptions, CancellationToken)

LoadDocumentProperties(String)

LoadDocumentProperties(String, DocumentFormat)

LoadDocumentProperties(Stream)

LoadDocumentProperties(Stream, DocumentFormat)

See Also

RichEditDocumentServer Members

Word Processing Document

Overview of WinForms Rich Text Editor Features

DevExpress.XtraRichEdit Namespace