Convert Word document to Image in .NET MAUI

29 Nov 20245 minutes to read

Syncfusion® DocIO is a .NET MAUI Word library used to create, read, edit, and convert Word documents programmatically without Microsoft Word or interop dependencies. Using this library, you can convert a Word document to image in .NET MAUI.

Prerequisites

To create .NET Multi-platform App UI (.NET MAUI) apps, you need the latest versions of Visual Studio 2022 and .NET 6. For more details, refer here.

Steps to convert Word document to Image in .NET MAUI

Step 1: Create a new C# .NET MAUI app. Select .NET MAUI App from the template and click the Next button.

Create the MAUI app in Visual Studio

Step 2: Enter the project name and click Create.

Create a project name for your new project

Step 3: Install the Syncfusion.DocIORenderer.NET NuGet package as a reference to your project from NuGet.org.

Install Syncfusion.DocIORenderer.NET NuGet package

NOTE

Starting with v16.2.0.x, if you reference Syncfusion® assemblies from trial setup or from the NuGet feed, you also have to add “Syncfusion.Licensing” assembly reference and include a license key in your projects. Please refer to this link to know about registering a Syncfusion® license key in your application to use our components.

Step 4: Add a new button to the MainPage.xaml as shown below.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Convert_Word_Document_to_Image.MainPage">
    <ScrollView>
        <Grid RowSpacing="25" RowDefinitions="Auto,Auto,Auto,Auto,*"
            Padding="{OnPlatform iOS='30,60,30,30', Default='30'}">
            <Button 
                Text="Convert Word Document to Image"
                FontAttributes="Bold"
                Grid.Row="0"
                SemanticProperties.Hint="Convert Word Document to Image"
                Clicked="ConvertWordtoImage"
                HorizontalOptions="Center" />
        </Grid>
    </ScrollView>
</ContentPage>

Step 5: Include the following namespaces in the MainPage.xaml.cs file.

using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIORenderer;

Step 6: Add a new action method ConvertWordtoImage in MainPage.xaml.cs and include the below code snippet to convert a Word document to image.

//Loading an existing Word document
Assembly assembly = typeof(App).GetTypeInfo().Assembly;
using (WordDocument document = new WordDocument(assembly.GetManifestResourceStream("Convert_Word_Document_to_Image.Template.Input.docx"), FormatType.Docx))
{
    //Instantiation of DocIORenderer for Word to image conversion
    using (DocIORenderer render = new DocIORenderer())
    {
        //Convert the first page of the Word document into an image.
        Stream imageStream = document.RenderAsImages(0, ExportImageFormat.Jpeg);
        //Reset the stream position.
        imageStream.Position = 0;
        //save and Launch the image 
        SaveService saveService = new();
        saveService.SaveAndView("WordToImage.Jpeg", "application/jpeg", imageStream as MemoryStream);
    }
}

Helper files for .NET MAUI

Refer the below helper files and add them into the mentioned project. These helper files allow you to save the stream as a physical file and open the file for viewing.

Folder Name File Name Summary

.NET MAUI Project

SaveService.cs

Represent the base class for save operation.

Windows

SaveWindows.cs

Save implementation for Windows.

Android

SaveAndroid.cs

Save implementation for Android device.

Mac Catalyst

SaveMac.cs

Save implementation for Mac Catalyst device.

iOS

SaveIOS.cs

Save implementation for iOS device

PreviewControllerDS.cs


QLPreviewItemFileSystem.cs

Helper classes for viewing the Word document in iOS device

You can download a complete working sample from GitHub.

By executing the program, you will get the image as follows.

Word to Image in .NET MAUI

Click here to explore the rich set of Syncfusion® Word library (DocIO) features.

An online sample link to convert Word document to image in ASP.NET Core.