Back to Devexpress

IAIDocProcessingService.ProofreadAsync(RichEditDocumentServer, CultureInfo, CancellationToken) Method

officefileapi-devexpress-dot-aiintegration-dot-docs-dot-iaidocprocessingservice-dot-proofreadasync-x28-richeditdocumentserver-cultureinfo-cancellationtoken-x29.md

latest6.0 KB
Original Source

IAIDocProcessingService.ProofreadAsync(RichEditDocumentServer, CultureInfo, CancellationToken) Method

Reviews the text for spelling, grammar, punctuation, and style errors.

Namespace : DevExpress.AIIntegration.Docs

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

NuGet Package : DevExpress.AIIntegration.Docs

Declaration

csharp
Task ProofreadAsync(
    RichEditDocumentServer wordProcessor,
    CultureInfo culture,
    CancellationToken cancellationToken = default(CancellationToken)
)
vb
Function ProofreadAsync(
    wordProcessor As RichEditDocumentServer,
    culture As CultureInfo,
    cancellationToken As CancellationToken = Nothing
) As Task

Parameters

NameTypeDescription
wordProcessorRichEditDocumentServer

The RichEditDocumentServer instance which text should be reviewed.

| | culture | CultureInfo |

An object that specifies culture settings applied during proofreading.

|

Optional Parameters

NameTypeDefaultDescription
cancellationTokenCancellationTokennull

The token that cancels the task.

|

Returns

TypeDescription
Task

The response that contains AI-generated text.

|

Example

How to: Proofread a Word Document

The following code snippet proofreads an entire document. Code to proofread only the second paragraph is included as commented code.

csharp
using DevExpress.AIIntegration.Docs;
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
using System.Diagnostics;

var docProcessingService = defaultAIExtensionsContainer.CreateAIDocProcessingService();

using (var wordProcessor = new RichEditDocumentServer())
{
    // Load source document (ensure file exists in relative Documents folder)
    wordProcessor.LoadDocument("Documents/FirstLookShortened.docx");

    // Proofread entire document (culture en-US)
    await docProcessingService.ProofreadAsync(wordProcessor, new System.Globalization.CultureInfo("en-US"));

    // Proofread a single paragraph
    // Paragraph paragraph = wordProcessor.Document.Paragraphs[1];
    // await docProcessingService.ProofreadAsync(paragraph.Range, new System.Globalization.CultureInfo("en-US"));

    // Prepare output directory & file path
    string targetDir = @"C:\Test Documents";
    Directory.CreateDirectory(targetDir); // Safe if already exists
    string outputPath = Path.Combine(targetDir, "Proofread.docx");

    // Save the proofread document
    using (FileStream outputStream = new FileStream(outputPath, FileMode.Create, FileAccess.Write))
    {
        wordProcessor.SaveDocument(outputStream, DocumentFormat.OpenXml);
    }
}
vb
Imports DevExpress.AIIntegration.Docs
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native
Imports System.Globalization
Imports System.IO

Dim docProcessingService = defaultAIExtensionsContainer.CreateAIDocProcessingService()

Using wordProcessor As New RichEditDocumentServer()
    ' Load source document (ensure file exists in relative Documents folder)
    wordProcessor.LoadDocument("Documents/FirstLookShortened.docx")

    ' Proofread entire document (culture en-US)
    Await docProcessingService.ProofreadAsync(wordProcessor, New CultureInfo("en-US"))

    ' Proofread a single paragraph
    ' Dim paragraph As Paragraph = wordProcessor.Document.Paragraphs(1)
    ' Await docProcessingService.ProofreadAsync(paragraph.Range, New CultureInfo("en-US"))

    ' Prepare output directory & file path
    Dim targetDir As String = "C:\Test Documents"
    Directory.CreateDirectory(targetDir) ' Safe if already exists
    Dim outputPath As String = Path.Combine(targetDir, "Proofread.docx")

    ' Save the proofread document
    Using outputStream As New FileStream(outputPath, FileMode.Create, FileAccess.Write)
        wordProcessor.SaveDocument(outputStream, DocumentFormat.OpenXml)
    End Using
End Using

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the ProofreadAsync(RichEditDocumentServer, CultureInfo, CancellationToken) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

office-file-api-ai-implementation/CS/Controllers/ProofreadController.cs#L48

csharp
default:
    await docProcessingService.ProofreadAsync(wordProcessor, cultureInfo);
    break;

See Also

IAIDocProcessingService Interface

IAIDocProcessingService Members

DevExpress.AIIntegration.Docs Namespace