C#/VB.NET: Converter Word em Imagens (JPG, PNG e SVG)

2023-07-17 02:11:12

Em comparação com o formato de documento do Word, as imagens são mais convenientes para compartilhar e visualizar entre plataformas, porque não requerem a instalação do MS Word nas máquinas. Além disso, a conversão do Word em imagens pode preservar a aparência original do documento, o que é útil quando outras modificações não são desejadas. Neste artigo, você aprenderá como converter documentos do Word em imagens em C# e VB.NET usando Spire.Doc for .NET.

Instalar o Spire.Doc for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.Doc for.NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados de esse link ou instalado via NuGet.

PM> Install-Package Spire.Doc

Converter Word para JPG em C#, VB.NET

O Spire.Doc for .NET oferece o método Document.SaveToImages() para converter um documento inteiro do Word em imagens individuais de bitmap ou metarquivo. Em seguida, uma imagem bitmap ou metarquivo pode ser salva como um arquivo de formato BMP, EMF, JPEG, PNG, GIF ou WMF. A seguir estão as etapas para converter um documento do Word em imagens JPG usando esta biblioteca.

  • Crie um objeto Documento.
  • Carregue um documento do Word usando o método Document.LoadFromFile().
  • Converta o documento em imagens Bitmap usando o método Document.SaveToImages().
  • Percorra a coleção de imagens para obter a imagem específica e salve-a como um arquivo 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);
                }
            }
        }
    }

Converter Word para SVG em C#, VB.NET

Usando o Spire.Doc for .NET, você pode salvar um documento do Word como uma fila de matrizes de bytes. Cada array de bytes pode então ser escrito como um arquivo SVG. As etapas detalhadas para converter Word para SVG são as seguintes.

  • Crie um objeto Documento.
  • Carregue um arquivo do Word usando o método Document.LoadFromFile().
  • Salve o documento como uma fila de matrizes de bytes usando o método Document.SaveToSVG().
  • Faça um loop pelos itens na fila para obter uma matriz de bytes específica.
  • Grave a matriz de bytes em um arquivo 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();
                }
            }
        }
    }

Converta Word para PNG com resolução personalizada em C#, VB.NET

Uma imagem com resolução mais alta geralmente é mais clara. Você pode personalizar a resolução da imagem ao converter Word para PNG seguindo as etapas a seguir.

  • Crie um objeto Documento.
  • Carregue um arquivo do Word usando o método Document.LoadFromFile().
  • Converta o documento em imagens Bitmap usando o método Document.SaveToImages().
  • Percorra a coleção de imagens para obter a imagem específica.
  • Chame o método personalizado ResetResolution() para redefinir a resolução da imagem.
  • Salve a imagem como um arquivo 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)

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também