Конвертация PDF документа в DOCX документ в C#

Категория: PDFOffice.NET

12 апреля 2024

PDF документ - это документ, который включает в себя полное описание фиксированной разметки элементов документа на плоскости, включая текст, шрифты, графику и другую информацию необходимую для отображения документа. Преимуществом PDF документа является тот факт, что PDF документ всегда выглядит одинаково в не зависимости от устройства. Также преимуществом PDF документа является тот факт, что контент каждой страницы документа хранится отдельно и например можно отрендерить и посмотреть последнюю страницу 1000-страничного PDF документа без необходимости рендерить все страницы документа. Недостатком PDF документа является сложность редактирования контента документа.

DOCX документ - это документ формата Microsoft Word Open XML, который содержит текст, изображения, графику и многое другое. Преимуществом DOCX документа является простое и интуитивно понятное редактирование контента документа. Недостатком DOCX документа является необходимость выполнить размещение контента документа, чтобы разбить документ на страницы. Иными словами, для 1000-страничного DOCX документа нужно выполнить рендеринг всех страниц документа, даже если необходимо посмотреть только последнюю страницу документа.

Исходя из описанных выше преимуществ и недостатков получается что PDF файл удобен для просмотра и хранения документа, а DOCX файл удобен для создания и редактирования документа.

VintaSoft Imaging .NET SDK позволяет редактировать контент PDF документа и об этом можно прочитать здесь.

Также VintaSoft Imaging .NET SDK позволяет сконвертировать PDF документ в DOCX документ для последующего редактирования DOCX документа в каком-нибудь текстовом редакторе, например Microsoft Word или OpenOffice Writer.

Также VintaSoft Imaging .NET SDK позволяет сконвертировать DOCX документ обратно в PDF документ.

Вот C# код, который позволяет сконвертировать PDF документ в 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();
    }
}

Вот C# код, который позволяет сконвертировать DOCX документ в 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();
    }
}