Convertir un documento PDF a un documento DOCX en C#

Categoría del blog: PDFOffice.NET

12.04.2024

Un documento PDF es un documento que incluye una descripción completa del diseño fijo de los elementos del documento en un plano, incluyendo texto, fuentes, gráficos y otra información necesaria para mostrar el documento. La ventaja de un documento PDF es el hecho de que siempre puede verse igual, independientemente del dispositivo. Otra ventaja de un documento PDF es el hecho de que el contenido de cada página se almacena por separado y, por ejemplo, puede renderizar y ver la última página de un documento PDF de 1000 páginas sin la necesidad de renderizar todas las demás páginas de este documento. La desventaja de un documento PDF es la dificultad de editar su contenido.

Un documento DOCX es un documento con formato Open XML de Microsoft Word que contiene texto, imágenes, gráficos y más. La ventaja de un documento DOCX es la edición simple e intuitiva de su contenido. La desventaja de un documento DOCX es que requiere maquetar el contenido del documento para dividirlo en páginas. En otras palabras, para un documento DOCX de 1000 páginas, es necesario renderizar todas las páginas, incluso si solo se necesita ver la última.

De acuerdo con las ventajas y desventajas descritas anteriormente, resulta que un archivo PDF es conveniente para ver y almacenar un documento, y un archivo DOCX es conveniente para crear y editar un documento.

VintaSoft Imaging .NET SDK permite editar el contenido de un documento PDF. Puede leer más sobre ello aquí.

Además, VintaSoft Imaging .NET SDK permite convertir un documento PDF en un documento DOCX para su posterior edición en un programa editor de texto adecuado, es decir, Microsoft Office Word u OpenOffice Writer.

VintaSoft Imaging .NET SDK también permite convertir un documento DOCX nuevamente en un documento PDF.

Aquí está el código C#, que permite convertir un documento PDF a un documento DOCX:
/// <summary>
/// Converts PDF document to a DOCX document.
/// </summary>
public static void ConvertPdfToDocx(string pdfFileName, string docxFileName)
{
    // create an image collection
    using (Vintasoft.Imaging.ImageCollection imageCollection = new Vintasoft.Imaging.ImageCollection())
    {
        // add PDF document to the image collection
        imageCollection.Add(pdfFileName);

        // save images of image collection (PDF pages) to a DOCX file
        imageCollection.SaveSync(docxFileName);

        // dispose images
        imageCollection.ClearAndDisposeItems();
    }
}

Aquí está el código C#, que permite convertir un documento DOCX a un documento PDF:
/// <summary>
/// Converts DOCX document to a PDF document.
/// </summary>
public static void ConvertDocxToPdf(string docxFileName, string pdfFileName)
{
    // create an image collection
    using (Vintasoft.Imaging.ImageCollection imageCollection = new Vintasoft.Imaging.ImageCollection())
    {
        // add DOCX document to the image collection
        imageCollection.Add(docxFileName);

        // create PdfEncoder
        using (Vintasoft.Imaging.Codecs.Encoders.PdfEncoder pdfEncoder = 
            new Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(true))
        {
            // set compression for image resources in PDF document
            pdfEncoder.Settings.Compression = Vintasoft.Imaging.Codecs.Encoders.PdfImageCompression.Jpeg;

            // save images of image collection (DOCX pages) to a PDF document
            imageCollection.SaveSync(pdfFileName, pdfEncoder);
        }

        // dispose images
        imageCollection.ClearAndDisposeItems();
    }
}