머리글은 문서의 한 섹션으로, 상단 여백에 나타나며 일반적으로 페이지 번호, 날짜, 문서 이름과 같은 정보를 포함합니다. Aspose.Words REST API를 사용하면 Word 문서에 페이지 번호와 페이지 머리글을 삽입할 수 있습니다. 기본적으로 머리글은 각 페이지에서 동일하지만 홀수 및 짝수 페이지에 대해 다른 머리글을 만들 수 있습니다.

이 게시물의 목적은 첫 번째 페이지의 머리글이 나머지 페이지와 다른 문서 레이아웃을 구현하는 것입니다.

페이지 번호 삽입
헤더 삽입

Aspose REST API를 호출하기 전에 Aspose Cloud 계정을 생성하고 앱 키와 앱 SID를 얻어야 합니다. 시작하기 문서에서는 이러한 단계를 수행하는 방법을 설명합니다.

또한, 모든 문서 작업이 클라우드에서 수행되므로 샘플 문서를 클라우드 스토리지에 업로드해야 합니다.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/

StorageApi storageApi = new StorageApi(MyAppKey, MyAppSid);

string fileName = "Sample-Document.docx";

// 소스 문서를 클라우드 스토리지에 업로드
PutCreateRequest request = new PutCreateRequest(fileName, File.OpenRead(@"c:\Data\" + fileName), null, null);
storageApi.PutCreate(request);

Word 문서에 머리글 삽입

헤더 바닥글 삽입 API는 문서에 헤더를 추가하고 해당 headerFooterType 매개변수는 다음 여섯 가지 값 중 하나를 취할 수 있습니다.

  • HeaderFirst - 섹션의 첫 번째 페이지의 헤더입니다.
  • HeaderPrimary - 기본 헤더, 홀수 페이지에도 사용됩니다.
  • HeaderEven - 짝수 페이지의 머리글.
  • FooterFirst - 섹션의 첫 번째 페이지에 대한 바닥글입니다.
  • FooterPrimary - 주요 바닥글이며 홀수 페이지에도 사용됩니다.
  • FooterEven - 짝수 페이지의 바닥글입니다.

첫 번째 페이지에 헤더를 삽입하려면 HeaderFirst 값을 사용하세요.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

string MyAppKey = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/
string MyAppSid = ""; // Get AppKey and AppSID from https://dashboard.aspose.cloud/

WordsApi wordsApi = new WordsApi(MyAppKey, MyAppSid);

string fileName = "Sample-Document.docx";
string folder = null; // File exists at the root of the storage

// 첫 번째 페이지에 머리글 삽입
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderFirst", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

나머지 페이지에 헤더를 삽입하려면 HeaderPrimary 값을 사용하세요.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

// 다른 모든 페이지에 헤더 삽입
var putHeaderFooterRequest = new PutHeaderFooterRequest(fileName, "HeaderPrimary", folder);
var actual = wordsApi.PutHeaderFooter(putHeaderFooterRequest);

첫 번째 헤더가 다른 헤더와 다르므로 아래와 같이 DifferentFirstPageHeaderFooter 매개변수 값을 true로 설정합니다.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

var sectionIndex = 0;
var body = new PageSetup
{
    DifferentFirstPageHeaderFooter = true
};

var pageSetupRequest = new UpdateSectionPageSetupRequest(fileName, sectionIndex, body);
var actual = wordsApi.UpdateSectionPageSetup(pageSetupRequest);

위의 코드 조각을 실행한 후, 문서의 헤더에 빈 문단이 추가되었습니다. 이제 이러한 헤더에 텍스트를 추가하기 위해 문단 삽입 API를 사용합니다. 아래에 표시된 코드는 첫 번째 헤더에 “Aspose” 텍스트를 추가하고 다른 모든 헤더에 “Cloud File Format APIs” 텍스트를 추가합니다.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

var run = new Run { Text = "ASPOSE" };
            
var runRequest = new PutRunRequest(fileName, "sections/0/headersfooters/1/paragraphs/0", run);
var actual = wordsApi.PutRun(runRequest);

헤더 텍스트에 서식 적용

Update Run Font API를 사용하여 헤더의 텍스트에 서식을 적용할 수 있습니다. API는 본문에서 fontDto 객체를 허용하며, 리소스 속성의 세부 정보는 Update font properties for text in a Word document 문서에 나와 있습니다. 다음 코드는 헤더 텍스트의 글꼴 패밀리를 Verdana로, 텍스트 크기를 14로, 텍스트 색상을 검은색으로 설정합니다.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

var runIndex = 0;
var fontDto = new Font { Bold = true, Name = "Verdana", Size = 14, Color = new XmlColor { Web = "#000000" }  };

// 첫 번째 페이지 머리글에 서식 적용
var documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/1/paragraphs/0", runIndex);
var actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

// 다른 모든 페이지의 헤더에 서식 적용
documentParagraphRunFontRequest = new PostDocumentParagraphRunFontRequest(fileName, fontDto, "sections/0/headersfooters/0/paragraphs/0", runIndex);
actual = wordsApi.PostDocumentParagraphRunFont(documentParagraphRunFontRequest);

위의 API 호출을 하면 입력 문서는 다음과 같습니다.

Word 문서에 페이지 번호 삽입

InsertPageNumbers API는 Word 문서에 페이지 번호를 삽입하는 데 사용됩니다. API는 본문에서 다음 JSON 개체를 허용합니다.

{
  "Format": "string",
  "Alignment": "string",
  "IsTop": true,
  "SetPageNumberOnFirstPage": true
}

헤더에 페이지 번호를 추가하므로 IsTop 매개변수의 값을 true로 설정합니다. 그러나 푸터에 페이지 번호를 추가하려면 값을 false로 설정합니다.

// 전체 예제와 데이터 파일은 https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet/blob/master/Examples/Aspose.Words.Cloud.Sdk.Examples/HeaderFooter/InsertHeadersAndPageNumbersToAWordDocument.cs에서 확인하세요.

var body = new PageNumber { Alignment = "right", Format = "{PAGE} of {NUMPAGES}", IsTop = true, SetPageNumberOnFirstPage = true };

var insertPageNumbersRequest = new PostInsertPageNumbersRequest(fileName, body);
var actual = wordsApi.PostInsertPageNumbers(insertPageNumbersRequest);

마지막으로 문서에 머리글과 페이지 번호를 추가했습니다.

제안된 게시물:

또한 다음 블로그 게시물을 검토하여 자세히 알아보는 것이 좋습니다.