Skip to main content
All docs
V25.2
  • IAIDocProcessingService.SummarizeAsync(RichEditDocumentServer, SummarizationMode, CancellationToken) Method

    Generates a brief summary of a document content.

    Namespace: DevExpress.AIIntegration.Docs

    Assembly: DevExpress.AIIntegration.Docs.v25.2.dll

    NuGet Package: DevExpress.AIIntegration.Docs

    Declaration

    Task<string> SummarizeAsync(
        RichEditDocumentServer wordProcessor,
        SummarizationMode mode = SummarizationMode.Abstractive,
        CancellationToken cancellationToken = default(CancellationToken)
    )

    Parameters

    Name Type Description
    wordProcessor RichEditDocumentServer

    The RichEditDocumentServer instance which content should be summarized.

    Optional Parameters

    Name Type Default Description
    mode SummarizationMode Abstractive

    An enumeration value that indicates summarization mode.

    cancellationToken CancellationToken null

    The token that cancels the task.

    Returns

    Type Description
    Task<String>

    The response that contains AI-generated summary.

    Example

    How to: Obtain Summary and Insert It at the Document Start

    The following code snippet obtains an AI-generated summary of a Word document and inserts it at the start:

    using DevExpress.AIIntegration.Docs;
    using DevExpress.XtraRichEdit;
    using DevExpress.XtraRichEdit.API.Native;
    
    // See "Register AI extension service" section for implementation code
    var docProcessingService = defaultAIExtensionsContainer.CreateAIDocProcessingService();
    
    var wordProcessor = new RichEditDocumentServer();
    wordProcessor.LoadDocument("Documents/FirstLookShortened.docx");
    string summary = await docProcessingService.SummarizeAsync(
        wordProcessor,
        SummarizationMode.Extractive,
        CancellationToken.None);
    
    wordProcessor.Document.Paragraphs.Insert(wordProcessor.Document.Paragraphs[0].Range.Start);
    
    Paragraph summaryParagraph = wordProcessor.Document.Paragraphs[0];
    
    // This method resets formatting for the inserted paragraph
    ClearFormatting(summaryParagraph);
    
    wordProcessor.Document.InsertText(
        summaryParagraph.Range.Start,
        "Document Summary:\n" + summary);
    wordProcessor.SaveDocument("Documents/SummarizationResult.docx", DocumentFormat.Docx);
    
    void ClearFormatting(Paragraph paragraph)
    {
        CharacterProperties cp = wordProcessor.Document.BeginUpdateCharacters(paragraph.Range);
        cp.Reset();
        cp.Style = wordProcessor.Document.CharacterStyles["Normal"];
        wordProcessor.Document.EndUpdateCharacters(cp);
        ParagraphProperties pp = wordProcessor.Document.BeginUpdateParagraphs(paragraph.Range);
        pp.Reset();
        pp.Style = wordProcessor.Document.ParagraphStyles["Normal"];
        wordProcessor.Document.EndUpdateParagraphs(pp);
    }
    
    See Also