푸터 콘텐츠로 바로가기
IRONWORD 사용하기

C#을 사용하여 Word 파일을 PDF로 변환하는 방법

문서를 프로그래밍 방식으로 변환하는 것은 많은 애플리케이션에서 필수 기능이 되었습니다. 특히 비즈니스 세계에서는 Word 문서를 PDF 파일로 변환하는 것이 일상적인 작업입니다. 다행히도, C#과 Microsoft Interop을 사용하면 Word 파일을 PDF로 원활하게 변환할 수 있습니다. 이 튜토리얼에서는 C#을 사용하여 Word 파일을 PDF 파일로 프로그래밍 방식으로 변환하는 과정을 설명합니다.

필수 조건

C#을 사용하여 .DOCX를 PDF로 변환하는 방법에 대한 코드를 다루기 전에 필요한 환경 설정을 완료하는 것이 중요합니다. 다음은 필요한 사전 조건입니다:

Microsoft Word 설치

컴퓨터에 Microsoft Word가 설치되어 있는지 확인하십시오. Interop 서비스는 Word의 내장 기능을 사용하여 Word 문서와 PDF 변환을 처리할 것입니다.

Visual Studio

Visual Studio의 버전은 C# 프로그램을 작성하고, 컴파일하고, 실행하기 위해 필수입니다. Visual Studio가 아직 설치되어 있지 않다면, Microsoft의 공식 웹사이트에서 무료 커뮤니티 버전을 다운로드할 수 있습니다.

패키지 Microsoft.Office.Interop.Word 설치

이 패키지는 C# 프로그램이 Word 문서와 상호작용할 수 있는 필수 기능을 제공합니다. 나중에 NuGet 패키지 관리자를 사용하여 설치할 것이지만 변환 과정에서의 중요성을 파악하는 것이 좋습니다.

변환을 위한 Word 문서

변환하고자 하는 Word 문서 또는 .docx 파일을 준비하세요. C# 프로그램에서 지정해야 하므로 기계에서 경로를 알고 있어야 합니다.

충분한 권한

Word 파일을 읽고 원하는 디렉터리에 결과 PDF 파일을 쓸 수 있는지 확인하십시오. 관리자 권한으로 Visual Studio를 실행하면 때때로 권한 관련 문제를 해결할 수 있습니다.

이 전제 조건을 갖추면 환경을 설정하고 Word 문서를 PDF 파일로 변환할 수 있습니다.

환경 설정

  1. Visual Studio를 열어주세요.
  2. 새 C# 콘솔 애플리케이션을 생성해주세요.
  3. NuGet 패키지 관리자 > 솔루션용 NuGet 패키지 관리로 이동합니다.
  4. "Microsoft.Office.Interop.Word"을(를) 검색하고 설치하세요. 이 패키지는 애플리케이션이 Word와 통신하고 Word 파일을 변환할 수 있게 해줍니다.

How to Convert Word to PDF in C#: 그림 1 - Visual Studio를 열고 새 콘솔 앱 프로젝트를 만듭니다. 솔루션용 NuGet 패키지 관리자로 이동합니다. Microsoft.Office.Interop.Word를 검색하여 설치합니다. 이 패키지는 콘솔 애플리케이션이 Word와 상호작용하고 Word 파일을 변환하는 데 도움을 줍니다.

Word 문서를 PDF로 변환하는 샘플 코드

C#을 사용하여 Word 문서를 PDF로 변환하기 위해 Microsoft Interop 서비스를 활용할 것입니다. 아래의 코드 스니펫이 이 작업을 수행하며, 자세한 설명도 이어집니다.

using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
$vbLabelText   $csharpLabel

코드 설명

우리 코드의 시작은 Word라는 중요한 네임스페이스 별칭을 포함하여 Microsoft.Office.Interop.Word 네임스페이스를 쉽게 참조합니다. System 네임스페이스는 C# 프로그래밍에 기본적인 클래스를 제공하며, 거의 모든 C# 애플리케이션에서 필수적입니다.

실제 작업은 Main 메서드 내에서 시작됩니다. 먼저 new Word.Application()를 사용하여 Word 애플리케이션의 새로운 인스턴스를 생성합니다. 이 단계는 MS Word를 실행하는 것과 유사하지만, 사용자가 볼 수 없는 백그라운드에서 모든 것이 진행됩니다. 애플리케이션 인스턴스가 초기화되면 wordApp.Documents.Open 메서드를 사용하여 Word 문서를 열도록 지시합니다. "path_to_your_word_file.docx" 대신 Word 문서의 경로를 지정하는 것이 중요합니다.

이제 문서가 열려 있으므로, PDF를 저장할 위치를 결정합니다. 이것은 outputPath 변수에 지정됩니다. 경로는 변환된 출력 PDF 파일을 어디에 보관할지에 맞추어 조정되어야 한다는 것을 주의하세요.

Word 문서를 PDF로 변환하는 마법은 wordDocument.ExportAsFixedFormat(...) 줄에서 발생합니다. Interop 서비스는 번거로움 없이 변환을 가능하게 하는 내장 메서드를 제공합니다. 메서드는 두 가지 주요 인수를 필요로 합니다: PDF를 저장할 위치의 경로와 내보내기 형식인데, 우리 경우에는 PDF입니다.

변환 후, 사용한 리소스를 닫는 것은 좋은 습관입니다. 따라서 wordDocument.Close()는 우리가 연 문서가 지금 닫혀 있음을 보장하고, wordApp.Quit()는 백그라운드에서 시작한 Word 애플리케이션 인스턴스가 종료되었음을 보장합니다.

마지막으로, 우리의 프로그램은 간단한 콘솔 메시지를 통해 사용자에게 결과를 전달합니다. Console.WriteLine() 메서드는 피드백을 제공합니다, 변환 과정이 성공적으로 실행되었음을 나타냅니다.

따라서, Microsoft.Office.Interop.Word는 Word 문서를 처리하고 변환할 수 있는 적절한 솔루션을 제공합니다.

IronPDF와 IronWord를 사용한 Word를 PDF로 변환하는 C

문서 자동화가 포함된 .NET 애플리케이션을 구축하는 경우, 직면할 일반적인 작업은 Word 문서를 PDF 형식으로 변환하는 것입니다. .docx 문서 템플릿, 인보이스, 보고서 또는 계약서 작업을 하는 경우, DOCX 파일을 PDF로 변환하면 일관된 형식, 안전한 전달 및 플랫폼 간 호환성을 보장합니다.

이 기사는 IronSoftware의 두 강력한 도구인 IronPDFIronWord를 사용하여 Word를 PDF로 쉽게 변환하는 방법을 설명합니다. 각 도구의 차이점, 사용 시기, 그리고 C#에서 빠르고 안정적인 Word에서 PDF 생성 방법을 배울 것입니다.

.NET에서 Word를 PDF로 변환하는 이유

이 작업을 수행하기 위해 이러한 라이브러리를 사용하는 방법으로 들어가기 전에, Word 문서를 PDF로 변환하면 작업 공간과 문서가 어떻게 향상될 수 있는지를 먼저 살펴보겠습니다.

그렇다면 DOCX 파일을 PDF 형식으로 변환해야 하는 이유는 무엇일까요?

  • 다양한 플랫폼에서 시각적 일관성을 보장합니다
  • 형식을 고정하고 의도치 않은 편집을 방지합니다
  • 법률 또는 금융 문서를 보관하기에 이상적입니다
  • 파일을 인쇄하고 공유하기가 더 쉬워집니다
  • 많은 비즈니스 워크플로우에서 요구되는 형식입니다

도구 개요: IronPDF 및 IronWord

IronWord

IronWord

IronWord는 Word 문서를 읽고 편집하기 위해 목적에 맞게 설계된 .NET 라이브러리입니다. IronWord를 사용하면 .docx 문서를 불러와서 직접 편집하여 필요에 맞게 사용할 수 있으며, Microsoft Office Interop이나 Microsoft Word 설치가 필요하지 않습니다. IronPDF를 사용하여 DOCX 파일을 PDF로 변환하기 전에 가능합니다.

이제 IronWord를 실제로 사용하는 모습을 살펴보기 위해 새 문서 객체를 생성하고 텍스트를 추가해 보겠습니다:

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
$vbLabelText   $csharpLabel

Word 문서 출력

Word 출력

IronPDF

IronPDF

IronPDF는 .NET을 위한 완전한 기능을 갖춘 PDF 라이브러리로, PDF 생성 및 조작을 위한 도구가 가득합니다. 그 중 뛰어난 기능 중 하나는 고품질의 HTML을 PDF로 변환하는 기능이며, Word를 PDF로 C# 변환 작업도 처리할 수 있습니다. .NET 개발자가 PDF를 생성하거나 기존 PDF 문서를 편집하려는 경우 IronPDF는 모든 요구사항을 충족합니다.

그렇다면 IronPDF를 사용하는 것이 얼마나 쉬운지 알아보겠습니다. 다음 코드 예제를 통해 Word 문서를 PDF로 변환할 때 어떻게 작동하는지 알아보겠습니다:

using IronPdf;

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
using IronPdf;

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("sample.docx");
pdf.SaveAs("example.pdf");
$vbLabelText   $csharpLabel

PDF 출력

PDF 출력

통합 워크플로우: IronWord 및 IronPDF

IronWord는 직접적으로 PDF로 내보낼 수 없지만, 프로그래밍 방식으로 Word 문서를 준비하기에 완벽합니다. 여기 일반적인 흐름이 있습니다:

Word to PDF Pipeline in C#

  1. IronWord로 Word 문서를 불러오거나 생성합니다
  2. 동적 데이터를 편집하거나 채웁니다 (예: 토큰 교체)
  3. .docx 파일을 저장합니다
  4. IronPDF를 사용하여 문서를 PDF 형식으로 변환합니다
  5. 변환된 PDF에 워터마크나 주석을 추가하는 등 후속 작업을 IronPDF를 사용하여 수행할 수 있습니다

이 하이브리드 워크플로는 최소한의 종속성으로 최대의 유연성을 제공하며, 웹 앱, 클라우드 서비스, 데스크탑 애플리케이션에 이상적입니다.

이것이 실제로 어떻게 보이는지 살펴보겠습니다.

문서 생성을 위한 IronWord 사용

먼저 IronWord를 사용하여 예제 Word 문서를 생성하겠습니다.

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
$vbLabelText   $csharpLabel

산출

Word 문서 출력

Word to PDF C# 변환을 위한 IronPDF 사용

단 3줄의 간단한 코드만으로 우리의 Word 문서를 PDF로 쉽게 변환할 수 있습니다.

using IronPdf;

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

pdf.SaveAs("output.pdf");
using IronPdf;

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

산출

PDF 출력

그렇게 해서 몇 줄의 코드만으로 IronWord를 사용하여 사용자 정의 Word 문서를 만든 다음 IronPDF를 구현하여 PDF 형식으로 변환할 수 있었습니다.

배포 준비 완료: 어디서나 작동

IronPDF와 IronWord는 모두 다음에서 작동합니다:

  • ASP.NET Core 및 Blazor
  • Azure App Services 및 Azure Functions
  • .NET Framework, .NET 6, 7, 8, 9, 및 .NET Core와 호환
  • Linux, Docker, 및 서버 환경에 쉽게 통합 가능
  • 데스크탑 (WPF/WinForms) 및 콘솔 애플리케이션

Office 설치가 필요하지 않습니다. COM 상호 운용성 없습니다. 단지 깨끗하고 현대적인 .NET 라이브러리입니다.

일반적인 사용 사례

사용 사례 IronWord IronPDF
.docx 파일 불러오기/편집 No
Word에서 텍스트/토큰 교체 No
.docx 문서 저장 No
HTML을 PDF로 변환 아니요 Yes
최종 PDF 출력 생성 아니요 Yes
서버 측 렌더링

전문가 팁: Razor Views를 사용하여 Word와 같은 PDF 문서 출력하기

IronWord를 사용하지 않더라도, IronPDF는 Razor 템플릿을 직접 지원합니다. Razor Pages를 사용하여 CSS로 Word 스타일의 레이아웃을 출력한 다음 PDF로 렌더링할 수 있습니다.

@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
$vbLabelText   $csharpLabel

IronPDF는 이를 세련된, 인쇄 준비된 PDF로 렌더링할 수 있습니다.

요약: .NET에서 Word를 PDF로 변환하는 모든 기능 해제하기

.NET 프로젝트에 IronPDFIronWord를 포함시킴으로써, 문서를 처리하는 강력한, Office가 필요 없는 워크플로우를 얻을 수 있습니다. 커스텀 스타일링과 표를 포함한 동적인 Word 문서를 생성하거나 문서를 픽셀 완벽한 PDF 파일로 변환합니다. 작업이 무엇이든지 간에, 이 라이브러리들을 사용하면 Word와 PDF 작업을 처리하기 위한 강력한 도구를 손쉽게 이용할 수 있습니다.

이 결합은 인보이스, 보고서, 계약서, 그리고 Word에서 시작하나 보안적이고 일관된 PDF 형식으로 끝나야 하는 모든 문서를 생성하기에 완벽합니다.

데스크톱 소프트웨어를 구축하든, Azure에 배포하든, IronWord와 IronPDF는 문서 자동화를 완전히 제어할 수 있게 해 줍니다 – 빠르고, 신뢰할 수 있으며, 프로덕션 준비 완료. 이 라이브러리를 실제 사용 사례에서 더 많이 보려면, 문서를 확인하세요. 여기에는 IronPDFIronWord에 대한 다양한 코드 예제가 있어 기능과 작동 방식을 더 잘 이해할 수 있습니다.

오늘 바로 시작하세요

Visual Studio 프로젝트 내에서 빠르게 구현하려면 NuGet 패키지 관리자에서 두 라이브러리를 모두 설치하세요. 구매 전에 시험 사용해 보시겠습니까? 오늘 무료 체험판을 IronPDFIronWord를 다운로드하여 강력한 문서를 즉시 만드세요.

자주 묻는 질문

C#을 사용하여 Word 문서를 PDF로 변환하려면 어떻게 해야 하나요?

C#에서 Word 문서를 PDF로 변환하려면 Microsoft.Office.Interop.Word 패키지를 사용할 수 있습니다. 이 과정은 Word 애플리케이션 인스턴스를 생성하고, 문서를 불러온 다음, ExportAsFixedFormat 메서드를 사용하여 PDF로 저장하는 방식으로 진행됩니다.

Word 파일을 PDF로 변환할 때 ExportAsFixedFormat 메서드의 역할은 무엇입니까?

Microsoft.Office.Interop.Word의 ExportAsFixedFormat 메서드는 Word 문서를 PDF 파일로 내보낼 때 사용되며, 공유 및 인쇄에 적합한 고정된 형식을 제공합니다.

C#에서 Word 문서를 PDF로 변환하기 위한 필수 조건은 무엇입니까?

C#에서 Word 문서를 PDF로 변환하려면 Microsoft Word, Visual Studio, 그리고 NuGet 패키지 관리자를 통해 설치 가능한 Microsoft.Office.Interop.Word 패키지가 필요합니다.

변환 후 워드 애플리케이션을 닫는 것이 중요한 이유는 무엇입니까?

변환 후 Word 애플리케이션을 닫는 것은 시스템 리소스를 확보하고 메모리 누수를 방지하는 데 필수적입니다. 이렇게 하면 애플리케이션이 백그라운드에서 계속 열려 불필요한 리소스를 소모하는 것을 방지할 수 있습니다.

Microsoft Interop보다 Excel 파일을 처리하는 데 더 효율적인 대안은 무엇입니까?

IronXL C#에서 Excel 파일을 처리하는 데 있어 더욱 효율적인 대안입니다. Microsoft Office가 설치되어 있지 않아도 사용 가능하며, 다양한 파일 형식을 지원하여 더 빠른 성능을 제공합니다.

C# 애플리케이션에서 IronXL 라이브러리를 사용하려면 어떻게 설치해야 하나요?

C# 애플리케이션에 IronXL 설치하려면 NuGet 패키지 관리자 콘솔을 사용하여 Install-Package IronXl.Excel 명령을 실행하십시오.

IronXL Excel 파일 작업 시 어떤 파일 형식을 지원하나요?

IronXL XLS, XLSX, XLSM, CSV, TSV, JSON, XML, HTML을 비롯한 여러 형식의 Excel 파일과 바이너리 및 바이트 배열을 변환하고 처리할 수 있습니다.

IronXL Microsoft Interop 서비스보다 사용하는 장점은 무엇입니까?

IronXL Microsoft Office 설치가 필요 없고, 처리 속도가 빠르며, 사용이 간편하고, Microsoft Interop 서비스에 비해 더 다양한 파일 형식을 지원하는 등의 장점을 제공합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me