C#/VB.NET : convertir Word en images (JPG, PNG et SVG)

2023-07-17 02:03:01

Par rapport au format de document Word, les images sont plus pratiques à partager et à prévisualiser sur toutes les plates-formes, car elles ne nécessitent pas l'installation de MS Word sur les machines. De plus, la conversion de Word en images peut préserver l'apparence d'origine du document, ce qui est utile lorsque d'autres modifications ne sont pas souhaitées. Dans cet article, vous apprendrez à convertir des documents Word en images en C# et VB.NET en utilisant Spire.Doc for .NET.

Installer Spire.Doc for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for.NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.Doc

Convertir Word en JPG en C#, VB.NET

Spire.Doc for .NET propose la méthode Document.SaveToImages() pour convertir un document Word entier en images Bitmap ou Metafile individuelles. Ensuite, une image Bitmap ou Metafile peut être enregistrée au format BMP, EMF, JPEG, PNG, GIF ou WMF. Voici les étapes pour convertir un document Word en images JPG à l'aide de cette bibliothèque.

  • Créez un objet Document.
  • Chargez un document Word à l'aide de la méthode Document.LoadFromFile().
  • Convertissez le document en images Bitmap à l'aide de la méthode Document.SaveToImages().
  • Parcourez la collection d'images pour obtenir celle spécifique et enregistrez-la sous forme de fichier JPG.
  • C#
  • VB.NET
using Spire.Doc;
    using Spire.Doc.Documents;
    using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    
    namespace ConvertWordToJPG
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Template.docx");
    
                //Convert the whole document into individual images
                Image[] images = doc.SaveToImages(ImageType.Bitmap);
    
                //Loop through the image collection
                for (int i = 0; i < images.Length; i++)
                {
                    //Save the image to a JPEG format file
                    string outputfile = String.Format("‪Image-{0}.jpg", i);‬‬
                    images[i].Save("C:\\Users\\Administrator\\Desktop\\Images\\" + outputfile, ImageFormat.Jpeg);
                }
            }
        }
    }

Convertir Word en SVG en C#, VB.NET

À l'aide de Spire.Doc for .NET, vous pouvez enregistrer un document Word sous la forme d'une file d'attente de tableaux d'octets. Chaque tableau d'octets peut alors être écrit sous la forme d'un fichier SVG. Les étapes détaillées pour convertir Word en SVG sont les suivantes.

  • Créez un objet Document.
  • Chargez un fichier Word à l'aide de la méthode Document.LoadFromFile().
  • Enregistrez le document en tant que file d'attente de tableaux d'octets à l'aide de la méthode Document.SaveToSVG().
  • Parcourez les éléments de la file d'attente pour obtenir un tableau d'octets spécifique.
  • Écrivez le tableau d'octets dans un fichier SVG.
  • C#
  • VB.NET
using Spire.Doc;
    using System;
    using System.Collections.Generic;
    using System.IO;
    
    namespace CovnertWordToSVG
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Template.docx");
    
                //Save the document as a queue of byte arrays
                Queue<byte[]> svgBytes = doc.SaveToSVG();
    
                //Loop through the items in the queue
                for (int i = 0; i < svgBytes.Count; i++)
                {
                    //Convert the queue to an array
                    byte[][] bytes = svgBytes.ToArray();
    
                    //Specify the output file name
                    string outputfile = String.Format("‪Image-{0}.svg", i);‬‬
    
                    //Write the byte[] in a SVG format file
                    FileStream fs = new FileStream("C:\\Users\\Administrator\\Desktop\\Images\\" + outputfile, FileMode.Create);
                    fs.Write(bytes[i], 0, bytes[i].Length);
                    fs.Close();
                }
            }
        }
    }

Convertir Word en PNG avec une résolution personnalisée en C#, VB.NET

Une image avec une résolution plus élevée est généralement plus claire. Vous pouvez personnaliser la résolution de l'image lors de la conversion de Word en PNG en suivant les étapes suivantes.

  • Créez un objet Document.
  • Chargez un fichier Word à l'aide de la méthode Document.LoadFromFile().
  • Convertissez le document en images Bitmap à l'aide de la méthode Document.SaveToImages().
  • Parcourez la collection d'images pour obtenir celle qui est spécifique.
  • Appelez la méthode personnalisée esetResolution()R pour réinitialiser la résolution de l'image.
  • Enregistrez l'image au format PNG.
  • C#
  • VB.NET
using Spire.Doc;
    using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    using Spire.Doc.Documents;
    
    namespace ConvertWordToPng
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
    
                //Load a Word document
                doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Template.docx");
    
                //Convert the whole document into individual images
                Image[] images = doc.SaveToImages(ImageType.Metafile);
    
                //Loop through the image collection
                for (int i = 0; i < images.Length; i++)
                {
                    //Reset the resolution of a specific image
                    Image newimage = ResetResolution(images[i] as Metafile, 150);
    
                    //Save the image to a PNG format file
                    string outputfile = String.Format("‪Image-{0}.png", i);‬‬
                    newimage.Save("C:\\Users\\Administrator\\Desktop\\Images\\" + outputfile, ImageFormat.Png);
                }
            }
    
            //Set the image resolution by the ResetResolution() method
            public static Image ResetResolution(Metafile mf, float resolution)
            {
                int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
                int height = (int)(mf.Height * resolution / mf.VerticalResolution);
                Bitmap bmp = new Bitmap(width, height);
                bmp.SetResolution(resolution, resolution);
                using (Graphics g = Graphics.FromImage(bmp))
                {
                    g.DrawImage(mf, Point.Empty);
                }
                return bmp;
            }
        }
    }

C#/VB.NET: Convert Word to Images (JPG, PNG and SVG)

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également