Converter um documento PDF em um documento DOCX em C#

Categoria do blog: PDFOffice.NET

12.04.2024

Um documento PDF é um documento que inclui uma descrição completa do layout fixo dos elementos do documento em um plano, incluindo texto, fontes, gráficos e outras informações necessárias para a exibição do documento. A vantagem do documento PDF é o fato de ele sempre ter a mesma aparência, independentemente do dispositivo. Outra vantagem é que o conteúdo de cada página é armazenado separadamente e, por exemplo, é possível renderizar e visualizar a última página de um documento PDF de 1000 páginas sem a necessidade de renderizar todas as outras páginas. A desvantagem do documento PDF é a dificuldade de editar seu conteúdo.

O documento DOCX é um documento no formato Open XML do Microsoft Word que contém texto, imagens, gráficos e muito mais. A vantagem do documento DOCX é a edição simples e intuitiva de seu conteúdo. A desvantagem de um documento DOCX é que ele exige a formatação do conteúdo para dividi-lo em páginas. Em outras palavras, para um documento DOCX de 1000 páginas, é necessário renderizar todas as páginas, mesmo que você só precise visualizar a última.

Com base nas vantagens e desvantagens descritas acima, conclui-se que um arquivo PDF é conveniente para visualizar e armazenar um documento, enquanto um arquivo DOCX é conveniente para criar e editar um documento.

VintaSoft Imaging .NET SDK permite editar o conteúdo de documentos PDF e você pode ler mais sobre isso aqui.

Além disso, o VintaSoft Imaging .NET SDK permite converter um documento PDF em um documento DOCX para posterior edição em um editor de texto apropriado, como o Microsoft Office Word ou o OpenOffice Writer.

VintaSoft Imaging .NET SDK também permite converter um documento DOCX de volta para um documento PDF.

Aqui está o código C# que permite converter um documento PDF em um 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();
    }
}

Aqui está o código C# que permite converter um documento DOCX em um 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();
    }
}