캡션

A quick view of MS Word document transformation.

머리글은 각 페이지의 위쪽 여백이고, 바닥글은 각 페이지의 아래쪽 여백입니다. 머리글과 바닥글은 이름, 날짜, 문서 제목, 페이지 번호 또는 문서에 대한 고지 사항과 같이 문서의 모든 페이지에 표시하려는 정보를 포함하는 데 유용합니다. MS Word를 사용할 때 미리 정의된 레이아웃을 기반으로 머리글과 바닥글을 추가하거나 사용자 지정 머리글과 바닥글을 추가할 수 있는 기능을 제공합니다. 대부분의 기본 제공 머리글에는 일부 자리 표시자 텍스트가 포함되어 있으며 자리 표시자 텍스트를 유지하거나 고유한 데이터 피드로 바꿀 수 있습니다. 또한 머리글 또는 바닥글 섹션의 정보를 업데이트할 때 문서 본문 내부의 콘텐츠는 회색으로 표시되어 이러한 개체가 나머지 페이지 콘텐츠와 완전히 분리되어 있으며 이러한 개체에서 수행하는 작업은 이러한 영역에만 국한됨을 나타냅니다. 이 문서에서는 REST API를 사용하여 Word 문서에 머리글 바닥글을 추가하거나 업데이트하는 방법에 대한 단계를 알아봅니다.

워드 프로세싱 API

Aspose.Words Cloud API는 클라우드 저장소에서 MS Word 파일을 로드하는 기능을 제공하며, 사용자가 요청 본문에 직접 입력 파일을 전달하고 API가 응답 개체에 업데이트된 파일을 반환할 수 있도록 합니다. 특정 또는 모든 헤더 및 푸터 개체를 읽고, 추가하고, 업데이트하거나 삭제하는 기능을 제공합니다. 또한 첫 번째 페이지와 홀수/짝수 페이지에 대해 다른 헤더/푸터를 렌더링하도록 지정할 수도 있습니다.

또한 API를 사용하면 머리글/바닥글 텍스트에 대한 글꼴 및 문단 속성과 같은 서식 정보를 설정할 수도 있습니다. 또한 머리글/바닥글 섹션에 동적 페이지 번호를 삽입할 수 있는 레버리지를 얻을 수 있습니다. 마지막으로, 테이블 객체를 사용하여 머리글/바닥글 텍스트의 한 부분을 왼쪽 가장자리에 정렬하고 다른 부분을 오른쪽 가장자리에 정렬하는 것을 고려할 수 있습니다.

기사의 범위

Aspose.Words Cloud SDK for .NET을 사용하면 Aspose.Words Cloud REST API를 빠르고 쉽게 사용할 수 있습니다. 요청을 만들고 응답을 처리하는 것과 관련된 많은 하위 수준 세부 정보를 처리하고 비즈니스 요구 사항에 맞는 코드 작성에 집중할 수 있기 때문입니다. 이 문서에서는 Mac용 Visual Studio에서 Aspose.Words Cloud SDK for .NET을 사용합니다. 이 게시물에서는 사용자 지정 서식이 정의되는 Word 문서에 머리글 바닥글을 삽입하는 단계를 정의합니다. 그런 다음 기존 바닥글 콘텐츠의 서식이 업데이트되고 페이지 번호 정보가 오른쪽 하단에 삽입됩니다. 이러한 모든 작업은 클라우드에서 수행됩니다.

설치

시작하려면 먼저 시스템에 Visual Studio를 설치해야 합니다. 샘플 솔루션을 만들고 Aspose.Words Cloud SDK for .NET의 NuGet 참조를 추가합니다. 따라서 참조를 추가하려면 솔루션을 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리… 메뉴 옵션을 선택합니다. 검색 텍스트 필드에 Aspose.Words-Cloud를 입력합니다. 옵션을 선택하고 패키지 추가 버튼을 클릭합니다.

이제 Aspose.Words.Cloud.Sdk 참조가 솔루션에 나타납니다. 온프레미스(aspose.com) API와 달리 클라우드 API를 사용하는 데는 몇 가지 이점이 있습니다. 그 이유는 API 버전을 수동으로 추적하고 업데이트할 필요가 없고 전체 라이선스 비용을 지불할 필요가 없기 때문입니다.

Aspose.Cloud 대시보드

Aspose.Cloud 대시보드에서 계정을 만들거나 기존 Google 또는 GitHub 계정을 통해 가입하고 Cloud API를 사용하기 시작하세요. Cloud API의 또 다른 놀라운 기능은 지원되는 모든 언어를 사용하여 모든 플랫폼에서 사용할 수 있다는 것입니다.

위에서 언급했듯이, 이 문서에서는 MS Word 문서 내에서 Header 및 Footer 개체의 추가 및 업데이트와 관련된 옵션을 강조합니다. 테스트를 위해 Business Letter라는 이름의 기존 MS Word 문서 템플릿을 사용했습니다. 문서를 Aspose 클라우드 스토리지에 업로드해야 하며 모든 조작 및 문서 처리가 클라우드에서 수행됩니다. 모든 처리가 완료되면 클라우드 스토리지에서 결과 파일 사본을 다운로드할 수도 있습니다.

using Aspose.Words.Cloud.Sdk;
using Aspose.Words.Cloud.Sdk.Model;
using Aspose.Words.Cloud.Sdk.Model.Requests;

이제 Aspose.Cloud API를 사용하려면 코드에서 앱 키와 앱 SID 정보를 사용해야 합니다. 이러한 키는 영숫자 숫자로 구성됩니다. 이는 구독 계정과 연결된 고유 코드입니다. 이러한 세부 정보를 얻으려면 Aspose.Cloud 대시보드에서 내 앱 탭을 클릭하세요. 키가 있으면 Aspose.Words API 객체를 초기화해야 합니다.

string MyAppKey = "f6axxxxxxxxxxxxxxxxxx";     // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "478e4827-xxxxx-xxxx-xxxx-xxxxxxx"; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// create an object of WordsApi while passing AppKey and AppSid information
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

헤더 객체 삽입

MS Word 파일 내부에 헤더 객체를 추가하려면 다음 작업을 순서대로 수행해야 합니다.

  1. HeaderFooterLink 유형을 인수로 전달하는 InsertHeaderFooterRequest 객체를 생성합니다.
  2. InsertHeaderFooter (…) 메서드를 사용하여 HeaderFooterRequest 객체를 WordsApi 객체에 삽입합니다.
  3. 샘플 Text 정보를 보관하는 Run 객체를 생성합니다.
  4. HeaderFooter 객체의 SectionPath에 대한 참조를 전달하는 InsertRunRequest 객체를 생성하고, 여기에 Run 텍스트를 추가해야 합니다.
    그런 다음 WordsApi의 InsertRun (…) 메서드를 호출하여 RunRequest를 HeaderFooter 개체에 추가합니다.

HeaderFooter.TypeEnum은 다음 값 중 하나가 될 수 있습니다.

string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// AppKey 및 AppSid 정보를 전달하는 동안 WordsAPI 객체를 생성합니다.
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// 샘플 문서를 클라우드 저장소에 업로드
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// 첫 번째 페이지에 헤더 개체 삽입
var putHeaderFooterRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertHeaderFooterRequest("BusinessLetter.docx", "HeaderFirst", null,null);  
var actual = wordsApi.InsertHeaderFooter(putHeaderFooterRequest);
// 샘플 텍스트를 포함하는 Run 객체를 생성합니다.
var run = new Run { Text = "Aspose.Words Cloud SDK for .NET " };
// Word 문서의 첫 번째 섹션에 있는 첫 번째 HeaderFooter 개체의 첫 번째 문단에 실행 텍스트를 추가합니다.
var runRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertRunRequest("BusinessLetter.docx", "sections/0/headersfooters/1/paragraphs/0", run);
// RunRequest를 Word 문서에 삽입
var actual2 = wordsApi.InsertRun(runRequest);
캡션

Image showing preview of recently added Header

새로 삽입된 헤더의 텍스트 서식 업데이트

Header 객체가 추가되면 그 안의 콘텐츠의 텍스트 서식을 업데이트할 수 있습니다. 이 요구 사항을 충족하려면 다음 단계를 수행해야 합니다.

  1. 글꼴 이름, 크기, 색상 정보를 지정하는 Font 클래스의 객체를 생성합니다.
  2. 텍스트를 더 보기 좋게 만들려면 Engrave 속성을 True로 표시하세요.
  3. 입력 파일, Font, SectionPath, runIndex를 인수로 전달하는 UpdateRunFontRequest 클래스의 객체를 생성합니다.
  4. 마지막으로 UpdateRunFont(..) 메서드를 사용하여 UpdateRunFontRequest 객체를 WordsApi 인스턴스에 추가합니다.
string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// AppKey 및 AppSid 정보를 전달하는 동안 WordsAPI 객체를 생성합니다.
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// 샘플 문서를 클라우드 저장소에 업로드
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// 다음 단계는 Header Object의 서식을 설정하는 것입니다.
var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 16, Color = new XmlColor { Web = "#e0a50d" } };
//  텍스트 서식을 Engrave로 설정
fontDto.Engrave = true;
// HeaderFooter 개체의 첫 번째 문단에 서식 적용
var documentParagraphRunFontRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateRunFontRequest("BusinessLetter.docx",
    fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual4 = wordsApi.UpdateRunFont(documentParagraphRunFontRequest);
캡션

Image showing preview of Header after text formatting has been applied.

API는 또한 기존 Header/Footer 객체 내부의 콘텐츠 서식을 업데이트하는 기능을 제공합니다. 이 요구 사항을 충족하기 위해 위에 지정된 코드 줄을 사용할 수 있지만 유일한 차이점은 headerfooter 인덱스를 2로 변경하는 것입니다. 다음 코드 줄을 참조하세요.

// Apply formatting to first paragraph of HeaderFooter object
var FooterDocumentParagraphRunFontRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.UpdateRunFontRequest("BusinessLetter.docx", 
FooterFontDto, "sections/0/headersfooters/2/paragraphs/0", FooterrunIndex);
캡션

Image displaying the change in Footer text formatting.

바닥글 섹션에 페이지 번호 정보 추가

페이지 번호는 현재 페이지와 문서의 총 페이지 수와 같은 매우 유용한 정보를 제공합니다. 다음 단계는 요구 사항을 달성하는 방법을 정의합니다.

  1. 먼저 PageNumber 클래스의 객체를 만듭니다. 여기서 텍스트 정렬, 텍스트 형식, PageNumber 정보를 렌더링할 위치를 정의합니다. 또한 PageNumber를 첫 번째 페이지에 렌더링해야 하는지 여부를 지정합니다.
  2. InsertPageNumbersRequest 객체를 생성하고 PageNumber 객체를 인수로 전달합니다.
  3. 마지막으로 InsertPageNumbers(..) 메서드를 호출하여 InsertPageNumbersRequest를 WordsApi 인스턴스에 추가합니다.
string MyAppKey = "xxxxxxxx";    // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = "xxxxxxxxx";   // Get AppKey and AppSID from https://dashboard.aspose.cloud/
// AppKey 및 AppSid 정보를 전달하는 동안 WordsAPI 객체를 생성합니다.
WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

// 샘플 문서를 클라우드 저장소에 업로드
wordsApi.UploadFile(new UploadFileRequest(new System.IO.FileStream("/Users/nayyershahbaz/Documents/BusinessLetter.docx", 
    FileMode.Open, FileAccess.Read), "BusinessLetter.docx"));

// API는 또한 HeaderFooter 개체에 페이지 번호 세부 정보를 추가하는 기능을 제공합니다.
// 페이지 오른쪽 하단에 페이지 번호 정보 추가
var body = new PageNumber { Alignment = "right", Format = "{PAGE} of {NUMPAGES}", IsTop = false, SetPageNumberOnFirstPage = true };
var insertPageNumbersRequest = new Aspose.Words.Cloud.Sdk.Model.Requests.InsertPageNumbersRequest("BusinessLetter.docx", body);
// Word 문서 내에 PageNumber 정보 삽입
var actual6 = wordsApi.InsertPageNumbers(insertPageNumbersRequest);
캡션

Preview Page number in the footer section.

결론

이 문서에서는 Aspose.Words Cloud SDK for .NET을 사용하여 Word 문서에 머리글, 바닥글을 추가하는 방법에 대한 단계를 알아보았습니다. Java, PHP, Ruby, Python, Go, Swift, C++, Node.Js, Android에 대한 Cloud SDK도 있습니다. 자세한 내용은 Aspose.Words Cloud를 방문하세요.

관련기사

또한 자세한 내용을 알아보려면 다음을 방문하는 것이 좋습니다.