DevExpress.AIIntegration.Docs 25.2.8 (original) (raw)

Documentation | What's New | Blog | Support & Feedback

AI-powered Extensions for DevExpress Document Processing APIs

DevExpress Document Processing APIs include backend-ready AI extensions for PDF, Word, and PowerPoint documents.

These AI-powered extensions communicate with language models via the Microsoft.Extensions.AI library and its IChatClient interface. You can use cloud-based services (Azure OpenAI, OpenAI, Google Gemini) or local models (Ollama, ONNX Runtime, AI Foundry Local).

Code Example - Get Started

Install NuGet packages: DevExpress Extensions

Install the NuGet package that contains DevExpress AI-powered Extensions: DevExpress.AIIntegration.Docs.

dotnet add package DevExpress.AIIntegration.Docs
Install NuGet packages: AI Service

Install NuGet packages required by your AI service of choice. This example uses Azure OpenAI and requires the following packages:

dotnet add package Azure.AI.OpenAI --version 2.2.0-beta.4
dotnet add package Microsoft.Extensions.AI.OpenAI --version 9.5.0-preview.1.25265.7

To see package lists required by different AI Services, refer to the following help topic: AI Extensions - Prerequisites.

Register the AI Client and DevExpress AI-powered Document Processing Service
using Azure.AI.OpenAI;
using DevExpress.AIIntegration;
using Microsoft.Extensions.AI;
using System.ClientModel;
using DevExpress.XtraRichEdit;
using DevExpress.Docs.Presentation;

// Obtain Azure OpenAI credentials
string azureOpenAIEndpoint = Environment.GetEnvironmentVariable({YOUR_AZURE_ENDPOINT});
string azureOpenAIKey = Environment.GetEnvironmentVariable({YOUR_AZURE_OPENAI_APIKEY});

// Register Azure OpenAI client
IChatClient client = new AzureOpenAIClient(new Uri(azureOpenAIEndpoint),
        new ApiKeyCredential(azureOpenAIKey)).GetChatClient("gpt-4o-mini").AsIChatClient(); 
AIExtensionsContainerDefault defaultAIExtensionsContainer = AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(client);

// Create AI-powered document service
var aiService = defaultAIExtensionsContainer.CreateAIDocProcessingService();
Translate a Word Document
// Initialize a Word document processor and upload a file
var wordProcessor = new RichEditDocumentServer();
wordProcessor.LoadDocument("Document.docx");
// Translate the document and save the result
await aiService.TranslateAsync(wordProcessor, new CultureInfo("fr-FR"), CancellationToken.None);
MemoryStream translatedDocStream = new MemoryStream();
wordProcessor.SaveDocument(translatedDocStream, DocumentFormat.OpenXml);
Translate a PowerPoint Presentation
// Initialize a Presentation object and upload a file
FileStream fs = File.OpenRead("presentation.pptx");
var presentation = new Presentation(fs);
// Translate the presentation and save the result
await aiService.TranslateAsync(presentation, new CultureInfo("fr-FR"), CancellationToken.None);
MemoryStream translatedPresentationStream = new MemoryStream();
presentation.SaveDocument(translatedPresentationStream, DocumentFormat.Pptx);

Licensing

DevExpress Document Processing APIs and associated AI-powered Extensions are included in the following DevExpress subscriptions:

Free 30-day evaluation period is available.

DevExpress.Document.Processor - DevExpress Document Processing APIs for Word, Excel, and PDF documents.

dotnet add package DevExpress.Document.Processor

DevExpres.Docs.Presentation - DevExpress Document Processing APIs for PowerPoint presentations.

dotnet add package DevExpress.Docs.Presentation

Documentation | What's New | Blog | Support & Feedback