
ヘッダーは各ページの上余白で、フッターは各ページの下余白です。ヘッダーとフッターは、名前、日付、文書のタイトル、ページ番号、文書の免責事項など、文書のすべてのページに表示する情報を含めるのに役立ちます。MS Word を使用する場合、定義済みのレイアウトに基づいてヘッダーとフッターを追加する機能や、カスタム ヘッダーとフッターを追加する機能が提供されます。ほとんどの組み込みヘッダーにはプレースホルダー テキストが含まれており、プレースホルダー テキストをそのまま使用することも、独自のデータ フィードに置き換えることもできます。また、ヘッダーまたはフッター セクションの情報を更新すると、文書の本体内のコンテンツがグレー表示されます。これは、これらのオブジェクトがページの残りのコンテンツから完全に分離されており、これらのオブジェクトに対して実行する操作がこれらの領域に固有であることを示しています。この記事では、REST API を使用して Word 文書でヘッダー フッターを追加または更新する手順について説明します。
ワードプロセッシングAPI
Aspose.Words Cloud API は、クラウド ストレージから MS Word ファイルを読み込む機能を提供します。また、ユーザーは入力ファイルをリクエスト本文で直接渡すことができ、API は更新されたファイルを応答オブジェクトで返します。特定のまたはすべてのヘッダーおよびフッター オブジェクトの読み取り、追加、更新、または削除機能を提供します。さらに、最初のページと奇数/偶数ページに異なるヘッダー/フッターをレンダリングするように指定することもできます。
さらに、API を使用すると、ヘッダー/フッター テキストのフォントや段落プロパティなどの書式設定情報も設定できます。また、ヘッダー/フッター セクションに動的なページ番号を挿入することもできます。最後に、テーブル オブジェクトを使用して、ヘッダー/フッターのテキストの一部を左端に揃え、他の部分を右端に揃えることも検討できます。
条項の範囲
弊社の Aspose.Words Cloud SDK for .NET を使用すると、Aspose.Words Cloud REST APIs をすばやく簡単に操作できます。これは、リクエストの作成と応答の処理に関する多くの低レベルの詳細を処理し、ビジネス要件に固有のコードの記述に集中できるようにするためです。この記事では、Visual Studio for Mac で 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 アカウントでサインアップするだけで、クラウド API を使い始めることができます。クラウド API のもう 1 つの素晴らしい機能は、サポートされている言語を使用して、あらゆるプラットフォームで使用できることです。
上で述べたように、この記事では、MS Word ドキュメント内のヘッダー オブジェクトとフッター オブジェクトの追加と更新に関するオプションに重点を置いています。テストのために、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 を使用するには、コード内で App Key と App SID 情報を使用する必要があります。これらのキーは英数字で構成されます。これらは、サブスクリプション アカウントに関連付けられた一意のコードです。これらの詳細を取得するには、Aspose.Cloud ダッシュボード の [My Apps] タブをクリックしてください。キーを取得したら、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 ファイル内にヘッダー オブジェクトを追加するには、次の操作を順番に実行する必要があります。
- HeaderFooterLink タイプを引数として渡す InsertHeaderFooterRequest のオブジェクトを作成します。
- InsertHeaderFooter (…) メソッドを使用して、HeaderFooterRequest オブジェクトを WordsApi オブジェクトに挿入します。
- サンプルのテキスト情報を保持する Run オブジェクトを作成します。
- 実行テキストを追加する必要がある HeaderFooter オブジェクト内の段落 (SectionPath) の参照を渡す InsertRunRequest オブジェクトを作成します。
次に、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);
// サンプルテキストを含む実行オブジェクトを作成する
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);

新しく挿入されたヘッダーのテキスト書式を更新する
Header オブジェクトが追加されると、その中のコンテンツのテキスト書式を更新できます。この要件を満たすには、次の手順を実行する必要があります。
- フォント名、サイズ、色情報を指定する Font クラスのオブジェクトを作成します。
- テキストをより見やすくするために、Engrave プロパティを True に設定します。
- UpdateRunFontRequest クラスのオブジェクトを作成し、入力ファイル、フォント、SectionPath、runIndex を引数として渡します。
- 最後に、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"));
// 次のステップは、ヘッダーオブジェクトの書式を設定することです。
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);

既存のフッターオブジェクトの書式を更新する
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);

フッターセクションにページ番号情報を追加する
ページ番号は、現在のページやドキュメント内の総ページ数など、非常に役立つ情報を提供します。次の手順では、要件を満たす方法を定義します。
- まず、PageNumber クラスのオブジェクトを作成します。ここで、テキストの配置、テキストの形式、PageNumber 情報をレンダリングする場所を定義し、また、PageNumber を最初のページにレンダリングする必要があるかどうかを指定します。
- InsertPageNumbersRequest オブジェクトを作成し、PageNumber オブジェクトを引数として渡します。
- 最後に、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文書内にページ番号情報を挿入する
var actual6 = wordsApi.InsertPageNumbers(insertPageNumbersRequest);

結論
この記事では、Aspose.Words Cloud SDK for .NET を使用して Word 文書にヘッダー フッターを追加する手順を説明しました。Java、PHP、Ruby、Python、Go、Swift、C++、Node.Js、Android 用の Cloud SDK も用意されています。詳細については、Aspose.Words Cloud をご覧ください。
関連記事
さらに詳しく知りたい場合は、以下もご覧ください。