C#에서 PDF 문서를 DOCX 문서로 변환합니다.

블로그 카테고리: PDFOffice.NET

2024/04/12

PDF 문서는 텍스트, 글꼴, 그래픽 및 문서를 표시하는 데 필요한 기타 정보를 포함하여 문서 요소의 고정된 레이아웃을 평면상에 완벽하게 기술한 문서입니다. PDF 문서의 장점은 기기에 관계없이 항상 동일한 모양으로 보인다는 점입니다. 또 다른 장점은 각 페이지의 내용이 개별적으로 저장되므로, 예를 들어 1,000페이지짜리 PDF 문서에서 마지막 페이지만 렌더링하여 볼 수 있고 나머지 페이지는 렌더링할 필요가 없다는 것입니다. PDF 문서의 단점은 내용을 편집하기 어렵다는 점입니다.

DOCX 문서는 텍스트, 이미지, 그래픽 등을 포함하는 Microsoft Word의 Open XML 형식 문서입니다. DOCX 문서의 장점은 콘텐츠 편집이 간단하고 직관적이라는 점입니다. 단점은 문서 내용을 페이지로 나누어 레이아웃을 조정해야 한다는 것입니다. 즉, 1,000페이지짜리 DOCX 문서의 경우 마지막 페이지만 보더라도 모든 페이지를 렌더링해야 합니다.

위에서 설명한 장단점을 바탕으로 판단해 보면, PDF 파일은 문서를 보고 저장하는 데 편리하고, DOCX 파일은 문서를 만들고 편집하는 데 편리하다는 것을 알 수 있습니다.

VintaSoft Imaging .NET SDK를 사용하면 PDF 문서의 내용을 편집할 수 있으며, 자세한 내용은 여기에서 확인할 수 있습니다.

또한 VintaSoft Imaging .NET SDK를 사용하면 PDF 문서를 DOCX 문서로 변환하여 Microsoft Office Word 또는 OpenOffice Writer와 같은 적절한 텍스트 편집 프로그램에서 DOCX 문서를 추가로 편집할 수 있습니다.

VintaSoft Imaging .NET SDK는 DOCX 문서를 PDF 문서로 다시 변환하는 기능도 제공합니다.

다음은 PDF 문서를 DOCX 문서로 변환하는 C# 코드입니다.
/// <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();
    }
}

다음은 DOCX 문서를 PDF 문서로 변환하는 C# 코드입니다.
/// <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();
    }
}