C#/VB.NET: convertir Word a imágenes (JPG, PNG y SVG)

2023-07-17 02:07:22

En comparación con el formato de documento de Word, las imágenes son más convenientes para compartir y obtener una vista previa entre plataformas, ya que no requieren que MS Word esté instalado en las máquinas. Además, convertir Word en imágenes puede conservar la apariencia original del documento, lo cual es útil cuando no se desean modificaciones adicionales. En este artículo, aprenderá cómo convertir documentos de Word a imágenes en C# y VB.NET utilizando Spire.Doc for .NET.

Instalar Spire.Doc for .NET

Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.Doc for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalado a través de NuGet.

PM> Install-Package Spire.Doc

Convierta Word a JPG en C#, VB.NET

Spire.Doc for .NET ofrece el método Document.SaveToImages() para convertir un documento de Word completo en documentos individuales.mapa de bitsometarchivoimágenes Luego, una imagen de mapa de bits o metarchivo se puede guardar como un archivo de formato BMP, EMF, JPEG, PNG, GIF o WMF. Los siguientes son los pasos para convertir un documento de Word a imágenes JPG utilizando esta biblioteca.

  • Cree un objeto Documento.
  • Cargue un documento de Word utilizando el método Document.LoadFromFile().
  • Convierta el documento en imágenes de mapa de bits utilizando el método Document.SaveToImages().
  • Recorra la colección de imágenes para obtener la específica y guárdela como un archivo 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);
                }
            }
        }
    }

Convierta Word a SVG en C#, VB.NET

Con Spire.Doc for .NET, puede guardar un documento de Word como una cola de matrices de bytes. Cada matriz de bytes se puede escribir como un archivo SVG. Los pasos detallados para convertir Word a SVG son los siguientes.

  • Cree un objeto Documento.
  • Cargue un archivo de Word usando el método Document.LoadFromFile().
  • Guarde el documento como una cola de matrices de bytes utilizando el método Document.SaveToSVG().
  • Recorra los elementos de la cola para obtener una matriz de bytes específica.
  • Escriba la matriz de bytes en un archivo 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();
                }
            }
        }
    }

Convierta Word a PNG con resolución personalizada en C#, VB.NET

Una imagen con mayor resolución es generalmente más clara. Puede personalizar la resolución de la imagen mientras convierte Word a PNG siguiendo los siguientes pasos.

  • Cree un objeto Documento.
  • Cargue un archivo de Word usando el método Document.LoadFromFile().
  • Convierta el documento en imágenes de mapa de bits utilizando el método Document.SaveToImages().
  • Recorra la colección de imágenes para obtener la específica.
  • Llame al método personalizado ResetResolution() para restablecer la resolución de la imagen.
  • Guarde la imagen como un archivo 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 una Licencia Temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también