ヘッダーは、ドキュメントの上部余白に表示されるセクションで、通常はページ番号、日付、ドキュメント名などの情報が含まれます。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 パラメータは次の 6 つの値のいずれかを取ることができます。

  • 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 オブジェクトを受け入れます。そのリソース プロパティの詳細については、Word 文書内のテキストのフォント プロパティを更新する の記事を参照してください。次のコードは、ヘッダー テキストのフォント ファミリを 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);

最後に、ドキュメントにヘッダーとページ番号を追加しました。

おすすめの投稿:

詳細については、次のブログ投稿を確認することをお勧めします。