푸터 콘텐츠로 바로가기
제품 비교

IronWord 와 Microsoft.Office.Interop.Word 비교

1. 서론

많은 개발자가 Word 문서를 처리해야 하는 .NET 응용 프로그램과 함께 작업합니다. 이것은 보고서를 작성하거나 문서를 처리하거나 송장을 생성하기 위한 것일 수 있습니다. 이를 위한 두 가지 인기 있는 도구는 Microsoft.Office.Interop.Word 및 IronWord입니다. 각각 고유한 기능, 장점 및 단점을 가지고 있습니다.

이 문서에서는 Microsoft.Office.Interop.WordIronWord를 비교할 것입니다. 각 도구가 제공하는 것, 어떻게 성능을 발휘하는지, 어떤 시나리오에서 가장 잘 사용되는지를 살펴볼 것입니다. 이를 통해 귀하의 특정 요구에 더 적합한 도구를 결정하는 데 도움이 될 것입니다.

2. Microsoft.Office.Interop.Word

IronWord & Microsoft.Office.Interop.Word 비교: 그림 1 - Microsoft.Office.Interop.Word 웹페이지

Microsoft.Office.Interop.Word는 .NET 애플리케이션이 Microsoft Word 문서와 직접 상호 작용할 수 있도록 하는 라이브러리입니다. 이는 Word 문서 프로세스를 자동화하거나 .NET 애플리케이션에 Word 문서 조작 기능을 통합해야 하는 개발자에게 중요한 구성 요소입니다. 이 라이브러리는 특히 Microsoft Word의 전체 기능을 활용하여 .NET 환경 내에서 문서 생성, 수정 및 서식 지정과 같은 작업에 유용합니다.

2.1 주요 기능

문서 생성 및 편집:

Microsoft.Office.Interop.Word는 Word 문서 생성 및 편집에 대한 광범위한 지원을 제공합니다. 개발자는 프로그래밍 방식으로 텍스트를 추가, 수정 및 삭제하고 제목 및 주제와 같은 문서 속성을 관리할 수 있습니다. 이 기능은 사용자 입력 또는 외부 데이터 소스를 기반으로 동적 문서를 생성하는 데 필수적입니다.

서식 및 스타일:

이 라이브러리는 텍스트, 단락 및 전체 문서의 서식을 지정하기 위한 포괄적인 옵션을 제공합니다. 개발자는 다양한 스타일, 글꼴, 색상 및 단락 정렬을 적용하여 전문적으로 서식이 지정된 문서를 만들 수 있습니다. 여기에는 기본 스타일 위에 사용자 정의 스타일을 정의하고 적용할 수 있는 기능이 포함되어 있어 생성된 문서가 특정 브랜딩 또는 디자인 요구 사항을 충족하도록 보장합니다.

Microsoft Word와의 호환성:

Microsoft Office 제품군의 구성 요소로서 Microsoft.Office.Interop.Word는 Microsoft Word의 모든 기능과 높은 충실도와 호환성을 보장합니다. 여기에는 라이브러리를 통해 생성되거나 수정된 문서가 Word의 기본 형식과 완벽하게 호환되도록 보장하는 Word의 최신 버전과의 원활한 통합이 포함됩니다.

3. IronWord

IronWord & Microsoft.Office.Interop.Word 비교: 그림 2 - IronWord 웹페이지

IronWord는 문서 조작을 위해 설계된 .NET 라이브러리로, 특히 Word 문서 처리에 중점을 둡니다. Microsoft.Office.Interop.Word는 Microsoft Office 제품군에 의존하는 반면, IronWord는 .NET 애플리케이션 내에서 Word 문서를 생성, 편집 및 변환하는 독립 실행형 솔루션을 제공합니다. 이를 통해 서버나 클라이언트 컴퓨터에 Microsoft Word를 설치할 필요가 없는 라이브러리를 찾고 있는 개발자에게 매력적인 옵션이 됩니다.

3.1 주요 기능

독립 실행형 문서 처리:

IronWord는 .NET 애플리케이션 내에서 Microsoft Office Word를 설치할 필요 없이 Word 문서를 직접 조작할 수 있습니다. 이 독립성은 배포를 단순화하고 특히 서버 또는 클라우드 컨텍스트에서 개발 환경의 복잡성을 줄여줍니다.

문서 변환:

IronWord의 중요한 기능은 Word 문서를 PDF, HTML 및 일반 텍스트와 같은 다른 형식으로 변환할 수 있는 지원입니다. 이 기능은 여러 형식으로 문서를 표시해야 하거나 HTML로 문서 콘텐츠를 표시해야 하는 웹 애플리케이션에 필수적입니다.

포괄적인 서식 옵션:

IronWord는 개발자가 텍스트 스타일을 적용하고 단락 정렬을 추가하고 테이블 및 이미지와 같은 요소를 삽입할 수 있는 광범위한 서식 기능을 제공합니다. 이러한 옵션은 IronWord에 의해 생성되거나 수정된 문서가 요구되는 시각적 및 구조적 표준을 충족하도록 보장합니다.

.NET 프로젝트와의 쉬운 통합:

.NET 애플리케이션을 염두에 두고 설계된 IronWord는 NuGet을 통해 모든 .NET 프로젝트에 쉽게 통합할 수 있습니다. API는 .NET 개발자에게 직관적으로 설계되어 Word 문서 작업을 시작하기 쉽게 만듭니다.

크로스 플랫폼 호환성:

IronWord는 다양한 운영 체제를 대상으로 하는 애플리케이션에 적합하도록 크로스 플랫폼 개발을 지원합니다. 이는 특히 Windows 운영 체제와 Linux 운영 체제 모두에서 실행해야 하거나 클라우드 환경에서 실행해야 하는 프로젝트에 유용합니다.

4. Visual Studio에서 .NET 프로젝트 생성

4.1 Visual Studio에서 열기

먼저 Microsoft Visual Studio를 시작합니다. 응용프로그램을 열면 시작 창이 표시됩니다. 이 창에서는 기존 프로젝트를 열거나 새 프로젝트를 만드는 등 여러 가지 시작 옵션을 제공합니다. 우리의 목적을 위해 새로운 프로젝트를 시작하는 데 중점을 둘 것입니다.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 3 - Visual Studio에서 새 프로젝트 만들기

4.2 프로젝트 유형 선택

새 프로젝트를 생성하는 옵션을 클릭하면 Visual Studio는 템플릿 목록을 제공합니다. 계속하려면 콘솔 앱 프로젝트를 선택합니다.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 4 - 콘솔 앱 프로젝트 만들기

4.3 프로젝트 구성

원하는 프로젝트 템플릿을 선택한 후 '다음'을 클릭하면 프로젝트 구성 화면으로 이동합니다. 여기에서 프로젝트에 대한 필수 정보를 제공해야 합니다. 이는 프로젝트 이름을 지정하고 프로그램 파일 폴더와 같이 애플리케이션의 내부 사용을 위해 예약된 위치를 선택하는 것이 포함됩니다.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 5 - 프로젝트 이름 및 파일 경로 설정

다음 대화 상자에서는 대상 프레임워크를 선택합니다. 선택한 .NET Framework는 애플리케이션에 사용할 수 있는 라이브러리 및 API를 결정하여 호환성과 기능성에 영향을 미칩니다. Visual Studio 도구를 활용하여 애플리케이션에 구현할 기능을 지원하는 프레임워크 버전을 선택하십시오.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 6 - 적절한 .NET Framework 선택

4.4 프로젝트 생성

필요한 정보를 입력하고 프로젝트 요구 사항에 맞게 모든 설정이 올바르게 조정되었는지 확인한 후 최종 단계는 프로젝트를 생성하는 것입니다. 이는 '생성' 버튼을 클릭하여 달성됩니다. Visual Studio는 선택한 템플릿 및 구성에 기반하여 새 프로젝트를 초기화합니다. 이 과정은 몇 분이 소요될 수 있으며, 그 후 새 .NET 프로젝트가 열려 개발 준비가 완료됩니다.

5. IronWord 라이브러리 설치

이 섹션은 NuGet 패키지 관리자, Visual Studio 명령 라인, 그리고 NuGet 웹페이지에서 직접 다운로드를 통해 IronWord 라이브러리를 프로젝트에 포함시키는 방법을 다룹니다.

5.1 NuGet 패키지 관리자 사용

NuGet 패키지 관리자는 Visual Studio 내에서 라이브러리와 도구의 원활한 설치를 가능하게 하는 사용자 친화적인 인터페이스입니다. 이 방법을 사용하여 IronWord 라이브러리를 설치하려면 다음 단계를 따르십시오:

  1. NuGet 패키지 관리자 열기: 프로젝트가 열려 있는 상태에서 솔루션 탐색기에서 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 'NuGet 패키지 관리...'를 선택합니다. 이 작업은 NuGet 패키지 관리자 창을 엽니다.
  2. IronWord 검색: NuGet 패키지 관리자 창의 '찾기' 탭으로 이동합니다. 검색 상자에 'IronWord'를 입력하고 Enter 키를 눌러 IronWord 라이브러리를 찾습니다.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 7 - NuGet 패키지 관리자를 사용하여 IronWord 설치

  1. IronWord 설치: 검색 결과에서 IronWord 패키지를 선택합니다. 상세 설명과 버전 정보를 볼 수 있습니다. 프로젝트 요구 사항에 맞는 버전을 선택하고 '설치' 버튼을 클릭합니다. Visual Studio는 이 후 다운로드와 라이브러리 설치를 처리하면서 프로젝트 참조를 업데이트합니다.

5.2 Visual Studio 명령 줄 사용

명령 줄 도구로 작업하는 것을 선호하는 이들을 위해, Visual Studio는 NuGet 패키지를 관리할 수 있는 PowerShell 인터페이스인 패키지 관리자 콘솔을 제공합니다.

  1. 패키지 관리자 콘솔 접근: Visual Studio의 메인 메뉴에서 툴 > NuGet 패키지 관리자 > 패키지 관리자 콘솔로 이동합니다.
  2. IronWord 설치: 콘솔에서 다음 명령을 입력하고 Enter 키를 누르세요:

    Install-Package IronWord

    이 명령은 최신 버전의 IronWord 라이브러리를 가져와 프로젝트에 포함시킵니다. 특정 버전을 지정하려면 -Version 매개변수 뒤에 버전 번호를 추가하세요.

IronWord & Microsoft.Office.Interop.Word 비교: 그림 8 - VS 명령줄을 통해 IronWord 설치

5.3 NuGet 웹페이지에서 직접 다운로드

IronWord & Microsoft.Office.Interop.Word 비교: 그림 9 - NuGet 웹페이지를 통해 IronWord 설치

프로젝트의 라이브러리를 수동으로 관리하는 것을 선호하는 경우, NuGet 웹사이트에서 IronWord 패키지를 직접 다운로드하여 프로젝트에 추가할 수 있습니다.

  1. 패키지 다운로드: nuget.org를 방문하여 IronWord 패키지를 검색합니다. 패키지 페이지에서 Download 링크를 찾아 .nupkg 파일을 다운로드합니다. 이 파일을 컴퓨터에 저장하십시오.
  2. 프로젝트에 추가: 다운로드한 후, 패키지를 수동으로 프로젝트에 추가할 수 있습니다. 이 프로세스는 일반적으로 .nupkg 파일을 압축 해제한 후 프로젝트에 포함된 어셈블리에 대한 참조를 추가하는 것을 포함합니다. 그러나 위에서 설명한 NuGet 패키지 관리자나 Visual Studio 명령 줄을 사용하는 것이 일반적으로 더 간단하고 오류가 적습니다.

6. Microsoft.Office.Interop.Word 설치

이 라이브러리는 다양한 접근 방식을 통해 프로젝트에 추가할 수 있으며, 각각 다양한 개발 선호와 요구 사항에 적합합니다.

6.1 NuGet 패키지 관리자 사용

IronWord & Microsoft.Office.Interop.Word 비교: 그림 10 - NuGet 패키지 관리자를 통해 Microsoft.Office.Interop.Word 설치

Visual Studio의 NuGet 패키지 관리자는 Microsoft.Office.Interop.Word 라이브러리를 프로젝트에 추가하는 가장 간단한 방법입니다. 다음 단계를 따르세요:

  1. NuGet 패키지 관리자 열기: Visual Studio에서 프로젝트를 열고 솔루션 탐색기에서 프로젝트 이름을 오른쪽 클릭하세요. 컨텍스트 메뉴에서 "NuGet 패키지 관리..."를 선택하여 NuGet 패키지 관리자 창을 엽니다.
  2. 라이브러리 검색: NuGet 패키지 관리자 창에서 "찾아보기" 탭으로 전환하고 검색 상자에 "Microsoft.Office.Interop.Word"를 입력하세요. Enter 키를 눌러 검색을 시작합니다.
  3. Install-Package: 검색 결과에서 "Microsoft.Office.Interop.Word" 패키지를 찾으세요. 프로젝트의 요구 사항을 충족하는지 확인하기 위해 제공된 버전 정보와 설명을 검토하세요. 설치 버튼을 클릭하여 라이브러리를 프로젝트에 추가하세요. Visual Studio가 패키지 다운로드 및 설치를 처리하며, 필요한 어셈블리를 포함하기 위해 프로젝트 참조를 업데이트합니다.

6.2 Visual Studio 명령줄 사용

IronWord & Microsoft.Office.Interop.Word 비교: 그림 11 - VS 명령줄을 통해 Microsoft.Office.Interop.Word 설치

Visual Studio 내의 명령줄 인터페이스인 패키지 관리자 콘솔은 Microsoft.Office.Interop.Word 라이브러리를 설치할 수 있는 또 다른 방법을 제공합니다.

  1. 패키지 관리자 콘솔 액세스: Visual Studio 메인 메뉴에서 "도구" > "NuGet 패키지 관리자" > "패키지 관리자 콘솔"로 이동하세요.
  2. 설치 명령 실행: 콘솔에서 다음 명령을 입력하고 Enter 키를 누르세요:

    Install-Package Microsoft.Office.Interop.Word

이 명령은 Visual Studio에 라이브러리의 최신 버전을 가져와 프로젝트에 통합하도록 지시합니다. 라이브러리의 특정 버전을 필요로 한다면, -Version 매개변수를 추가하고 원하는 버전 번호를 따르게 할 수 있습니다.

6.3 NuGet 웹페이지에서 직접 다운로드

IronWord & Microsoft.Office.Interop.Word 비교: 그림 12 - NuGet 웹페이지를 통해 Microsoft.Office.Interop.Word 설치

프로젝트 종속성을 수동으로 관리하기를 선호하는 개발자를 위해 Microsoft.Office.Interop.Word 라이브러리는 NuGet 웹사이트에서 직접 다운로드할 수 있습니다.

  1. 패키지 다운로드: nuget.org로 이동하여 "Microsoft.Office.Interop.Word"를 검색하세요. 패키지 페이지에서 다운로드 링크를 찾아 .nupkg 파일을 얻으세요. 이 파일을 컴퓨터의 알려진 위치에 저장하세요.
  2. 프로젝트에 패키지 수동 추가: 다운로드 후 .nupkg 파일을 프로젝트에 수동으로 추가할 수 있습니다. 이 작업에는 일반적으로 파일을 추출하고 프로젝트에 추출된 어셈블리에 대한 참조를 추가하는 과정이 포함됩니다. 그러나 사용을 쉽게 하고 잠재적인 오류를 최소화하기 위해 NuGet 패키지 관리자 또는 Visual Studio 명령줄을 사용하는 것이 좋습니다.

7. IronWord와 Microsoft.Office.Interop.Word의 고급 기능 비교

7.1 IronWord의 고급 기능

7.1.1 문서 읽기 및 편집

IronWord는 문서 수정을 포함하여 문서를 읽을 수 있게 해줍니다. 이는 기존 문서를 열고 변경을 한 후, 원본 문서 또는 새 파일로 변경 내용을 저장하는 것을 포함합니다. 이는 사용자 입력 또는 다른 소스의 데이터에 따라 문서를 업데이트해야 하는 응용 프로그램에 필수적입니다.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");

// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");

// Save the document with a new filename
document.SaveAs("updated_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");

// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");

// Save the document with a new filename
document.SaveAs("updated_document.docx");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 13 - 이전 코드에서 출력된 문서

7.1.2 페이지 설정 편집

IronWord는 A4, 레터, 법률과 같은 다양한 표준을 수용하여 문서의 용지 크기를 변경할 수 있습니다. 문서 요구 사항에 따라 페이지 방향을 세로와 가로로 조정할 수 있습니다.

7.1.3 단락 추가

단락 추가는 IronWord를 사용하여 프로그래밍적으로 간단하며, 이는 응용 프로그램 논리에 따라 동적으로 텍스트를 삽입할 수 있게 해줍니다.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Insert text into the document
document.AddText("Exploring IronWord Capabilities");

// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Insert text into the document
document.AddText("Exploring IronWord Capabilities");

// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 14 - 이전 코드에서 출력된 문서

7.1.4 텍스트런 추가 및 제거

텍스트런은 공통 속성을 가진 텍스트 섹션을 나타냅니다. IronWord는 이들을 추가 및 제거할 수 있으며, 개발자가 텍스트 세분화 및 속성을 제어할 수 있게 해줍니다.

7.1.5 이미지 추가

IronWord는 문서에 이미지를 추가하는 것을 지원하며, 이것은 위치, 감싸기 및 크기를 지정할 수 있으며, 문서의 시각적 매력과 효과를 향상시킵니다.

using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels

// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);

// Add the paragraph to the document
document.AddParagraph(para);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronWord;
using IronWord.Models;

// Initialize a new Word document
WordDocument document = new WordDocument();

// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels

// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);

// Add the paragraph to the document
document.AddParagraph(para);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 15 - 이전 코드에서 이미지 포함 출력 문서

7.1.6 도형 추가

IronWord를 사용하여 문서에 도형을 추가할 수 있으며, 도형 유형, 크기, 위치 및 회전을 설정할 수 있습니다. 이는 시각적 흥미층을 추가하며 정보를 강조하거나 장식 요소를 추가하는 데 사용할 수 있습니다.

7.1.7 스타일 설정

스타일링 옵션은 IronWord에서 광범위하게 제공되며, 글꼴 패밀리 및 크기, 색상, 굵게, 기울임꼴, 취소선, 밑줄, 윗첨자, 아래첨자와 같은 텍스트 장식이 포함됩니다. 이러한 수준의 제어는 브랜드 표준 유지와 문서 가독성을 보장하는 데 필수적입니다.

using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;

// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");

// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
    Text = "Updated text with IronWord",
    Style = new TextStyle
    {
        FontFamily = "Arial",
        FontSize = 48, // Adjusted font size
        TextColor = new IronColor(Color.Blue),
        IsBold = false,
        IsItalic = false,
        IsUnderline = false,
        IsSuperscript = true,
        IsStrikethrough = false,
        IsSubscript = true
    }
};

// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);

// Add the paragraph to the document
document.AddParagraph(newParagraph);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;

// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");

// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
    Text = "Updated text with IronWord",
    Style = new TextStyle
    {
        FontFamily = "Arial",
        FontSize = 48, // Adjusted font size
        TextColor = new IronColor(Color.Blue),
        IsBold = false,
        IsItalic = false,
        IsUnderline = false,
        IsSuperscript = true,
        IsStrikethrough = false,
        IsSubscript = true
    }
};

// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);

// Add the paragraph to the document
document.AddParagraph(newParagraph);

// Save the document with a new name
document.SaveAs("updated_save_document.docx");
$vbLabelText   $csharpLabel

7.1.8 정렬 설정

IronWord는 문서 내에서 왼쪽, 가운데, 오른쪽 및 양쪽 정렬을 포함한 텍스트 정렬 설정을 지원합니다. 이는 미적 감각과 가독성 모두에 중요합니다.

7.1.10 테이블 추가

테이블은 많은 문서에서 데이터를 정리하고 정보를 제공하기 위해 사용하는 중요한 구성 요소입니다. IronWord는 테이블 추가 및 구조 조작을 허용하며, 행과 열의 추가 또는 제거도 가능합니다. IronWord를 사용하면 테이블 셀의 내용을 조작하는 것이 간단하여 애플리케이션 필요에 따라 동적 콘텐츠 삽입이 가능합니다. IronWord는 테이블 셀을 병합하고 분할하는 기능을 제공하므로 테이블 레이아웃을 사용자 지정하거나 복잡한 데이터 프레젠테이션 요구를 해결하는 데 유용합니다.

using IronWord;
using IronWord.Models;

// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content

// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));

// Configure border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
    BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
    BorderSize = 3 // Adjusted border size to 3
};

// Configure table border
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Assign borders to the cell
cell.Borders = tableBorders;

// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);

// Create a table and add the row
Table table = new Table();
table.AddRow(row);

// Create a new Word document from the table
WordDocument doc = new WordDocument(table);

// Export the Word document
doc.SaveAs("UpdatedDocument.docx");
using IronWord;
using IronWord.Models;

// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content

// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));

// Configure border style
BorderStyle borderStyle = new BorderStyle
{
    BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
    BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
    BorderSize = 3 // Adjusted border size to 3
};

// Configure table border
TableBorders tableBorders = new TableBorders
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Assign borders to the cell
cell.Borders = tableBorders;

// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);

// Create a table and add the row
Table table = new Table();
table.AddRow(row);

// Create a new Word document from the table
WordDocument doc = new WordDocument(table);

// Export the Word document
doc.SaveAs("UpdatedDocument.docx");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 16 - 이전 코드에서 표 포함 출력 문서

7.2 Microsoft.Office.Interop.Word의 특정 고급 기능

Microsoft.Office.Interop.Word는 Word 문서와의 깊은 통합을 허용하여 개발자가 Word의 다양한 기능을 코드로 활용할 수 있도록 합니다. 아래는 Microsoft.Office.Interop.Word에서 제공하는 특정 고급 기능들로, 이전에 기술한 일반 기능과는 구별됩니다:

7.2.1 콘텐츠 제어

Microsoft.Office.Interop.Word는 리치 텍스트 박스, 콤보 박스, 날짜 선택기 및 체크박스를 포함하는 콘텐츠 제어의 추가와 조작을 지원합니다. 이러한 제어는 구조화되고 대화형인 문서를 생성하는 데 사용할 수 있으며, 사용자가 설정된 템플릿 내에서 정보를 입력하거나 선택할 수 있도록 합니다.

using Microsoft.Office.Interop.Word;

// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();

// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
using Microsoft.Office.Interop.Word;

// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();

// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 17 - 이전 코드에서 내용 제어 포함 출력 문서

7.2.2 메일 병합

메일 병합 프로세스를 자동화하여 스프레드시트나 데이터베이스 같은 데이터 소스와 Word 문서를 결합하여 개인화된 편지, 라벨 또는 이메일을 대량으로 생성합니다. 이 기능은 대량의 커스터마이즈된 의사소통이나 문서를 생성하는 데 매우 중요합니다.

using Microsoft.Office.Interop.Word;

// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();

// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");

// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
using Microsoft.Office.Interop.Word;

// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();

// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");

// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
$vbLabelText   $csharpLabel

7.2.3 수정 추적 및 주석

코드를 통해 Word의 수정 추적 및 주석 기능을 활성화하고 상호작용할 수 있습니다. 이 기능은 공동 편집, 문서 검토 또는 시간 경과에 따른 변경사항 감사를 요구하는 애플리케이션에 필수적입니다.

using Microsoft.Office.Interop.Word;

// Enable track changes
document.TrackRevisions = true;

// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
using Microsoft.Office.Interop.Word;

// Enable track changes
document.TrackRevisions = true;

// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 18 - 이전 코드에서 의견 추적 포함 출력 문서

7.2.4 머리글 및 바닥글

페이지 번호, 날짜 또는 사용자 지정 텍스트를 포함하여 머리글 및 바닥글을 동적으로 조작할 수 있습니다. 이는 일관된 브랜드 및 탐색 도움말이 포함된 전문 문서를 작성하는 데 필수적입니다.

using Microsoft.Office.Interop.Word;

// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
    // Set text for primary header
    section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";

    // Add page numbers to primary footer
    section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
using Microsoft.Office.Interop.Word;

// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
    // Set text for primary header
    section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";

    // Add page numbers to primary footer
    section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
$vbLabelText   $csharpLabel

IronWord & Microsoft.Office.Interop.Word 비교: 그림 19 - 이전 코드에서 머리글 및 바닥글 포함 출력 문서

7.2.5 목차 및 인덱스

문서의 제목 또는 표시된 항목을 기반으로 목차 또는 인덱스를 생성하고 업데이트합니다. 이는 특히 긴 보고서나 책과 같은 탐색 가능한 전문 문서를 작성하는 데 중요합니다.

using Microsoft.Office.Interop.Word;

// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);

// Add an index to the document
var index = document.Indexes.Add(document.Content);
using Microsoft.Office.Interop.Word;

// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);

// Add an index to the document
var index = document.Indexes.Add(document.Content);
$vbLabelText   $csharpLabel

7.2.6 개체 임베딩 및 연결

Excel 차트 또는 PowerPoint 프레젠테이션과 같은 외부 개체를 Word 문서에 임베드하거나 연결합니다. 이 기능을 통해 소스 파일과 함께 업데이트되는 동적 콘텐츠를 허용하거나 문서 내에 정보를 직접 임베드할 수 있습니다.

using Microsoft.Office.Interop.Word;

// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
    ClassType: "Excel.Sheet", 
    FileName: "path\\to\\excel.xlsx", 
    LinkToFile: false, 
    DisplayAsIcon: false, 
    IconFileName: ref missing, 
    IconIndex: ref missing, 
    IconLabel: ref missing, 
    Anchor: ref missing
);
using Microsoft.Office.Interop.Word;

// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
    ClassType: "Excel.Sheet", 
    FileName: "path\\to\\excel.xlsx", 
    LinkToFile: false, 
    DisplayAsIcon: false, 
    IconFileName: ref missing, 
    IconIndex: ref missing, 
    IconLabel: ref missing, 
    Anchor: ref missing
);
$vbLabelText   $csharpLabel

8. 문서 및 지원

8.1 IronWord 문서 및 지원

IronWord는 개발자가 완전한 기능을 활용할 수 있도록 철저한 문서와 지원을 제공합니다. 문서는 자세한 시작 가이드, 기능 요약, 빠른 시작 예제 및 포괄적인 API 참조를 포함하여 다양한 리소스를 아우르고 있습니다.

IronWord에 대한 지원은 강력하여 개발자가 문제를 신속하게 해결할 수 있도록 기술 지원을 제공합니다. 지원 프레임워크는 문의에 답하고 문제를 해결하기 위해 이용 가능한 전담 팀을 포함합니다.

8.2 Microsoft.Office.Interop.Word 문서 및 지원

Microsoft.Office.Interop.Word는 .NET 개발자가 Word 문서와 프로그램적으로 상호작용할 수 있는 도구를 제공하며 Microsoft의 광범위한 문서 및 지원이 뒷받침됩니다. 문서에는 초보자 가이드부터 고급 예제까지의 모든 것, 세부적인 API 정보 및 실제 사용 사례가 포함되어 있습니다.

지원의 경우 Microsoft는 직접적인 기술 지원, 커뮤니티 포럼 및 동료 지원을 위한 Stack Overflow 같은 플랫폼을 포함한 여러 채널을 제공합니다. GitHub는 또한 문제 보고 및 개선사항 제안에 필수적입니다. 정기적인 업데이트는 라이브러리가 새로운 Word 버전에 맞춰 최신 상태를 유지하도록 하여, 개발자 요구에 대한 Microsoft의 지속적인 헌신을 반영합니다.

9. 라이선스 모델

9.1 IronWord 라이선스

IronWord & Microsoft.Office.Interop.Word 비교: 그림 20 - IronWord 라이선싱 페이지

IronWord는 무료 및 상업적 라이선스 옵션을 제공합니다.

  • Lite License: $liteLicense USD
    • 1명의 개발자
    • 1개 위치
    • 1개의 프로젝트
    • 이메일 지원
  • Plus License: $plusLicense USD
    • 최대 3명의 개발자
    • 3개 위치
    • 3개 프로젝트
    • 이메일 (24/7) 및 채팅 지원
    • 전화 지원
  • Professional License: $professionalLicense USD
    • 최대 10명의 개발자
    • 10개 지점
    • 10개 프로젝트
    • 이메일 (24/7), 채팅 및 전화 지원
    • 화면 공유 지원

모든 상업 라이선스에는 우선 지원 및 업데이트가 포함됩니다. 무료 체험판을 통해 프로덕션 환경에서 모든 기능을 테스트할 수 있으며, 워터마크가 없습니다.

9.2 Microsoft.Office.Interop.Word 라이선스

Microsoft.Office.Interop.Word의 라이선스는 Microsoft Office Suite와 연결되어 있습니다. Interop 라이브러리 자체에 대해서는 별도의 라이선스가 필요하지 않습니다; Microsoft Office에 포함되어 있습니다. 응용 프로그램에서 Microsoft.Office.Interop.Word를 사용하려면 배포 환경에 Word를 포함한 유효한 Microsoft Office 라이선스가 필요합니다.

비용은 선택한 특정 Office Suite 버전과 라이선스 계약에 따라 달라지며, 개별 라이선스부터 비즈니스를 위한 볼륨 라이선스에 이르기까지 다양합니다. 정확한 가격설정을 위해서는 Microsoft's 공식 웹사이트를 참조하거나 Microsoft 영업 대표에 문의하십시오.

10. 결론

IronWord와 Microsoft.Office.Interop.Word를 비교할 때, 우리는 기능, 사용 편의성, 플랫폼 호환성, 라이선스를 비롯한 다양한 측면을 조사했습니다. IronWord는 Word 문서 조작을 위한 유연하고 크로스 플랫폼 솔루션을 찾는 개발자에게 특히 강력한 경쟁자로 부상합니다.

Microsoft Office와 독립적으로 작동할 수 있는 IronWord는 다양한 환경에서 실행되는 응용 프로그램에 이상적인 선택으로 문서 처리에 간소화된 접근 방식을 제공합니다. Microsoft Word가 설치될 필요가 없는 편리함과 결합된 포괄적인 기능 세트는 배포 단순함과 넓은 호환성이 중요한 경우에 특히 IronWord에 우위를 제공합니다. IronWord를 구입하려면 라이선스 페이지로 이동하십시오.

참고해 주세요Microsoft.Office.Interop.Word는 해당 소유자의 등록 상표입니다. 이 사이트는 Microsoft.Office.Interop.Word와 관련이 없으며, Microsoft.Office.Interop.Word의 승인을 받지 않았거나 후원을 받지 않았습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.

자주 묻는 질문

Microsoft Word를 설치하지 않고 .NET 환경에서 Word 문서를 만들고 편집하고 서식을 지정하는 방법은 무엇인가요?

Microsoft Word를 설치하지 않고도 문서 조작, 다양한 형식으로의 변환, 포괄적인 서식 지정 옵션을 제공하는 독립형 .NET 라이브러리인 IronWord 사용할 수 있습니다.

.NET 프로젝트에서 Microsoft.Office.Interop.Word와 IronWord 의 차이점은 무엇인가요?

Microsoft.Office.Interop.Word는 Microsoft Word 설치를 필요로 하며 Word의 기능과 긴밀하게 통합됩니다. IronWord 는 독립형 라이브러리로 Word가 필요하지 않으며 크로스 플랫폼 개발을 지원하므로 서버 또는 클라우드 환경에 더욱 유연하게 적용할 수 있습니다.

Visual Studio를 사용하여 Word 문서 처리를 위한 .NET 라이브러리를 어떻게 설치할 수 있습니까?

IronWord 와 Microsoft.Office.Interop.Word는 모두 Visual Studio의 NuGet 패키지 관리자, Visual Studio 명령줄 또는 NuGet 웹사이트에서 직접 다운로드하여 설치할 수 있습니다.

IronWord 에 사용할 수 있는 라이선스 옵션은 무엇인가요?

IronWord 무료 라이선스와 상업용 라이선스를 포함하여 다양한 라이선스 옵션을 제공하며, Lite, Plus, Professional 등급으로 나뉘어 각 등급마다 개발자, 지역 및 프로젝트 제한이 다릅니다.

Microsoft.Office.Interop.Word는 Microsoft Word 기능과 어떻게 통합됩니까?

Microsoft.Office.Interop.Word를 사용하면 .NET 애플리케이션에서 문서 생성, 편집, 서식 지정, 콘텐츠 제어, 메일 병합 및 Microsoft Word 설치가 필요한 기타 고급 기능을 포함하여 Word의 모든 기능을 활용할 수 있습니다.

.NET 환경에서 크로스 플랫폼 개발에 더 적합한 라이브러리는 무엇일까요?

IronWord Microsoft Word 설치에 의존하지 않고 다양한 운영 체제에서 실행되는 애플리케이션을 지원하므로 크로스 플랫폼 개발에 더 적합합니다.

IronWord 문서 편집을 위해 어떤 고급 기능을 제공합니까?

IronWord Microsoft Word 없이도 Word 문서 읽기 및 편집, 페이지 설정, 단락, 이미지, 표 추가, 스타일 및 정렬 적용과 같은 고급 기능을 제공합니다.

IronWord 와 Microsoft.Office.Interop.Word 중에서 선택할 때 가장 중요한 고려 사항은 무엇입니까?

사용 환경에 Microsoft Word가 이미 설치되어 있는지, 그리고 Word 기능과의 긴밀한 통합이 필요한지 고려해 보세요. IronWord Word 없이도 서버 또는 클라우드 애플리케이션에 유연성을 제공하는 반면, Microsoft.Office.Interop.Word는 Word의 모든 기능을 사용할 수 있지만 Word 설치가 필요합니다.

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

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

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

Iron Support Team

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