Категория

C#/VB.NET: преобразование Word в изображения (JPG, PNG и SVG)

2023-07-17 02:10:20

По сравнению с форматом документа Word изображения более удобны для совместного использования и предварительного просмотра на разных платформах, поскольку они не требуют установки MS Word на компьютерах. Кроме того, преобразование Word в изображения может сохранить первоначальный вид документа, что полезно, когда дальнейшие изменения нежелательны. В этой статье вы узнаете, как конвертировать документы Word в изображения на C# и VB.NET используя Spire.Doc for .NET.

Установите Spire.Doc for .NET

Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.Doc for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить с эта ссылка или установлен через NuGet.

PM> Install-Package Spire.Doc

Преобразование Word в JPG на C#, VB.NET

Spire.Doc for .NET предлагает метод Document.SaveToImages() для преобразования всего документа Word в отдельные Битовая карта или Метафайл изображений. Затем растровое изображение или метафайл можно сохранить как файл формата BMP, EMF, JPEG, PNG, GIF или WMF. Ниже приведены шаги для преобразования документа Word в изображения JPG с использованием этой библиотеки.

  • Создайте объект документа.
  • Загрузите документ Word с помощью метода Document.LoadFromFile().
  • Преобразовать документ в Битовая карта изображения с помощью метода Document.SaveToImages().
  • Прокрутите коллекцию изображений, чтобы получить конкретное, и сохраните его как файл 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);
                }
            }
        }
    }

Преобразование Word в SVG в C#, VB.NET

Используя Spire.Doc for .NET, вы можете сохранить документ Word в виде очереди байтовых массивов. Затем каждый массив байтов можно записать в виде файла SVG. Ниже приведены подробные шаги по преобразованию Word в SVG.

  • Создайте объект документа.
  • Загрузите файл Word с помощью метода Document.LoadFromFile().
  • Сохраните документ в виде очереди байтовых массивов с помощью метода Document.SaveToSVG().
  • Переберите элементы в очереди, чтобы получить определенный массив байтов.
  • Запишите массив байтов в файл 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();
                }
            }
        }
    }

Преобразование Word в PNG с настроенным разрешением в C#, VB.NET

Изображение с более высоким разрешением, как правило, более четкое. Вы можете настроить разрешение изображения при преобразовании Word в PNG, выполнив следующие действия.

  • Создайте объект документа.
  • Загрузите файл Word с помощью метода Document.LoadFromFile().
  • Преобразовать документ в Битовая карта изображения с помощью метода Document.SaveToImages().
  • Прокрутите коллекцию изображений, чтобы получить конкретное.
  • Вызовите пользовательский метод ResetResolution(), чтобы сбросить разрешение изображения.
  • Сохраните изображение как файл 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)

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.

Смотрите также