PDFにヘッダーフッターを追加する

ヘッダーはページ上部の余白領域に配置されるテキストで、フッターはページの下部、つまりフッターに配置できます。通常、これらの領域は、ドキュメント名、章の見出し、ページ番号、作成日などのドキュメント情報を挿入するために使用されます。この情報は各ページに繰り返されるため、読者はドキュメント内を簡単に移動できます。

さらに、ヘッダーとフッターは、予測可能な形式でドキュメントに関する情報をすばやく提供するのに役立ち、ドキュメントのさまざまな部分を設定するのにも役立ちます。この記事では、Aspose.PDF Cloud SDK for Java を使用して、PDF ファイルのヘッダーとフッター領域にテキストと画像を追加する方法について説明します。

cURL を使用してヘッダーにテキストを追加する

cURL コマンドは、コマンド ライン ターミナルから RESTFul API にアクセスする優れた方法です。Aspose.PDF Cloud SDK は REST 原則に従って開発されているため、コマンド プロンプトから簡単にアクセスできます。ただし、ユーザーのプライバシーとデータの整合性を確保するため、すべての API は許可されたユーザーのみがアクセスできることに注意してください。そのため、最初に Aspose.Cloud ダッシュボード にアクセスし、GitHub または Google アカウントをお持ちの場合はサインアップしてください。そうでない場合は、新しいアカウントの作成 ボタンをクリックして必要な情報を入力します。資格情報を使用してダッシュボードにログインし、ダッシュボードからアプリケーション セクションを展開して、クライアント資格情報セクションまで下にスクロールすると、クライアント ID とクライアント シークレットの詳細が表示されます。

次のコマンドは、PDF ドキュメントのヘッダー領域にテキストを追加するために使用される JWT アクセス トークンを作成する方法を示しています。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=c235e685-1aab-4cda-a95b-54afd63eb87f&client_secret=b8da4ee37494f2ef8da3c727f3a0acb9" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

次の cURL コマンドを使用して、PDF ドキュメントのヘッダー セクションにテキストを追加します。

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/text?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Background\": true,  \"HorizontalAlignment\": \"CENTER\",  \"Opacity\": 0.8,  \"Rotate\": \"None\",  \"RotateAngle\": 0,  \"XIndent\": 0,  \"YIndent\": 0,  \"Zoom\": 1,  \"TextAlignment\": \"CENTER\",  \"Value\": \"Aspose.PDF Cloud SDK for Java via cURL\",  \"TextState\": {    \"FontSize\": 16,    \"Font\": \"Arial\",    \"ForegroundColor\": {      \"A\": 0,      \"R\": 0xDA,      \"G\": 0xA5,      \"B\": 0x20    },    \"BackgroundColor\": {      \"A\": 0,      \"R\": 0xFA,      \"G\": 0xEB,      \"B\": 0xD7    },  },  \"LeftMargin\": 1,  \"TopMargin\": 20,  \"RightMargin\": 200}"
PDF のテキスト ヘッダー

画像 1: cURL コマンドで追加されたテキスト ヘッダー。

この例で使用されるサンプル ファイルは、次の場所からダウンロードできます。

Java を使用して PDF にテキスト ヘッダーを追加する

SDK を使用するには、まず Maven または GitHub から SDK をインストールする必要があります。以下に、Maven ビルド プロジェクトで Aspose.Pdf.jar をダウンロードして使用する方法の詳細を示します。

pom.xml ファイルに次の依存関係を追加します。

<repositories>
 <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>
<dependencies>
 <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.1.0</version>
        <scope>compile</scope>
    </dependency>
 </dependencies>

この要件を満たすための手順を以下に示します。

  • まず、ClientSecretとClientIdの詳細を指定してPdfApiのインスタンスを作成します。
  • 次に、Color オブジェクトを作成して、ForeGround と BackGround の色の詳細を定義します。
  • 次に、TextStateクラスのオブジェクトを作成します。
  • フォント サイズの詳細を設定するには、fontSize(..) メソッドを使用します。フォント フェイスを定義するには、font(..) メソッドを使用します。テキストの前景の詳細を定義するには、foregroundColor(…) メソッドを使用し、背景情報を定義するには、backgroundColor(…) メソッドを使用します。
  • 次に、TextHeaderオブジェクトを作成し、余白の詳細を定義します。
  • value(..) メソッドを使用して、テキスト ヘッダー オブジェクトの内容を指定します。
  • ここでtextState(…)メソッドを呼び出し、上記で作成したTextStateインスタンスを引数として渡します。
  • ページコンテンツの背後にヘッダーを表示するには、TextHeader クラスの background(…) メソッドに引数として true 値を渡します。
  • ここで、左側に画像をレンダリングするには、HorizontalAlignment.CENTER 値をhorizontalAlignment(…) メソッドに渡します。
  • opacity(…) メソッドはスタンプの不透明度を示します。デフォルト値は 1.0 です。
  • ズーム値を設定したら、AsposeResponse オブジェクトを作成します。
  • 最後に、PdfApi.postDocumentTextHeader(…) メソッドを呼び出し、ソース PDF ファイル名、TextHeader オブジェクト、開始ページと終了ページ (スタンプを追加する必要があるページ) を引数として渡します。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// PdfApiインスタンスを作成する
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// 入力PDF文書
String sourcePDF = "PdfWithAnnotations.pdf";

// ヘッダー画像を配置するPDFの開始ページ
int startPage = 2;

// ヘッダー画像を配置するPDFの最終ページ
int endPage = 3;
		        
// 16進コードで前景色をSlateBlueとして指定する
Color foregroundColor = new Color();
foregroundColor.setA(0x00);
foregroundColor.setR(0x6A);
foregroundColor.setG(0x5A);
foregroundColor.setB(0xCD);

// 背景色を16進コードでAntiqueWhiteに指定する
Color backgroundColor = new Color();
backgroundColor.setA(0x00);
backgroundColor.setR(0xFA);
backgroundColor.setG(0xEB);
backgroundColor.setB(0xD7);

// フォントサイズ、書体、色の詳細を定義する TextState オブジェクトを作成します。
TextState textState = new TextState()
  .fontSize(16.)
  .foregroundColor(foregroundColor)
  .backgroundColor(backgroundColor)
  .font("Arial");
		        
// TextHeaderオブジェクトのインスタンスを作成する
TextHeader headerObject = new TextHeader()    
  .leftMargin(1.)
  .rightMargin(200.)
  .topMargin(10.)
	
  // レンダリングされるテキストヘッダーの内容
  .value("Aspose.PDF Cloud SDK For Java")
	
  // 配置を中央に設定
  .textAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
  .textState(textState);
	
  // ページコンテンツの背後にヘッダーテキストを設定する
  headerObject.background(true)
	
  // テキストヘッダーの配置を中央に設定する
  .horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.CENTER)
	
  // テキストヘッダーの不透明度を0.8に設定する
  .opacity(0.8)
  .rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
  .rotateAngle(0.)
  .xindent(2.0)
  .yindent(5.0)
  .zoom(1.0);

// PDFにテキストヘッダーを追加するAPIメソッドを呼び出す
AsposeResponse response = pdfApi.postDocumentTextHeader(sourcePDF, headerObject,startPage, endPage, null, null);
assertEquals(200, (int)response.getCode());
Java でテキスト ヘッダーが追加されました

画像 2: Java で追加されたテキスト ヘッダーのプレビュー。

フッター領域にテキストを追加するには、TextFooter クラスのインスタンスを作成し、PdfApi クラスの postDocumentTextFooter(…) メソッドを呼び出します。残りの手順と詳細は、テキスト ヘッダーを追加する場合と同じです。

cURL を使用した PDF ヘッダー内の画像

cURLコマンドを使用して、PDFファイルのヘッダーセクションにPostDocumentImageHeader APIを使用して画像ファイルを簡単に追加できます。画像スタンプを追加するときに、HorizontalAlignment、Opacity、RotateAngle、画像のズーム係数、Width、Height、LeftMargin、TopMargin、RightMarginなどの詳細を指定するオプションが表示されます。

name パラメータは入力/ソース PDF ドキュメントを定義し、imageHeader はスタンプする画像ファイルを指定し、startPageNumber プロパティは画像スタンプを含む PDF ドキュメントの開始ページと endPageNumber 終了ページを定義します。次の cURL コマンドでは、Background プロパティが false に設定され、画像が表示されます。HorizontalAlignment は Left、Opacity 値は 0.8、Zoom 係数は 1、Width は 250、Height は 80 ポイント、RightMargin は 500 ポイントに指定されています。

curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithAnnotations.pdf/header/image?startPageNumber=2&endPageNumber=2" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"  \
-H  "Content-Type: application/json" \
-d "{"Background":false,"HorizontalAlignment":'Left',"Opacity": .8,"Rotate":'None',"RotateAngle": 0,"XIndent": 2,"YIndent": 5,"Zoom": 1,"FileName": 'asposetoolsnew.png',"Width": 250,"Height": 80,"LeftMargin": 1,"TopMargin": 10,"RightMargin": 500}"
ヘッダーの画像スタンプ

画像 3: PDF のヘッダー セクションにある画像スタンプ。

上記の例で使用されているサンプル ファイルは、次のリンクからダウンロードできます。

Javaを使用してヘッダーに画像を追加する

Aspose.PDF Cloud SDK for Javaは、より少ないコード行でPDFファイルに画像ヘッダーを追加する優れた機能を提供します。

PDF文書に画像ヘッダーを追加する手順は以下のとおりです。

  • ClientSecretとClientIdの詳細を指定して、PdfApiのオブジェクトを作成します。
  • 次に、ImageHeaderクラスのオブジェクトを作成します。
  • 画像の幅と高さの詳細を設定するには、ImageHeader クラスの width(..) メソッドと height(…) メソッドを使用します。
  • ここで、fileName(…) メソッドを使用して、ヘッダー画像のパスの詳細を設定します。
  • ページコンテンツの背後に画像を表示するには、background(…) メソッドに false 引数を渡します。
  • ここで、左側に画像をレンダリングするには、HorizontalAlignment.LEFT 値をhorizontalAlignment(…) メソッドに渡します。
  • opacity(…) メソッドはスタンプの不透明度を示します。デフォルト値は 1.0 です。
  • ズーム値を設定したら、AsposeResponse オブジェクトを作成します。
  • 最後に、PdfApi.postDocumentImageHeader(…) メソッドを呼び出し、ソース PDF ファイル名、ImageHeader オブジェクト、開始ページと終了ページ (スタンプを追加する必要があるページ) をこのメソッドの引数として渡します。
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "29ac1517-753f-4303-b755-7185e35cf939";
String clientSecret = "c537caf71eafc8a75a5ee7813b703276";
				
// PdfApiインスタンスを作成する
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
				
// 入力PDF文書
String sourcePDF = "PdfWithAnnotations.pdf";

// ヘッダー画像を配置するPDFの開始ページ
int startPage = 2;

// ヘッダー画像を配置するPDFの最終ページ
int endPage = 3;
		        
// ImageHeaderオブジェクトのインスタンスを作成する
ImageHeader headerObject = new ImageHeader()
	.width(250.0)
	.height(80.0)
	.leftMargin(1.)
	.rightMargin(500.)
	.topMargin(10.)
	.fileName("asposetoolsnew.png");
	
	// ヘッダー画像を前面に表示する
	headerObject.background(false)
	
	// 画像ヘッダーの配置を左に設定する
	.horizontalAlignment(com.aspose.asposecloudpdf.model.HorizontalAlignment.LEFT)
	.opacity(0.8)
	.rotate(com.aspose.asposecloudpdf.model.Rotation.NONE)
	.rotateAngle(0.)
	.xindent(2.0)
	.yindent(5.0)
	.zoom(1.0);

// PDFにヘッダー画像を追加するAPIメソッドを呼び出す
AsposeResponse response = pdfApi.postDocumentImageHeader(sourcePDF, headerObject,startPage, endPage, null, null);

フッター領域に画像を追加するには、ImageFooter クラスのオブジェクトを作成し、pdfApi クラスの postDocumentImageFooter(…) メソッドを呼び出します。残りの手順は、上記のヘッダー セクションの画像について説明したものと同じです。

結論

この記事では、cURL コマンドを使用して Aspose.PDF Cloud にアクセスし、PDF ドキュメントのヘッダー/フッター領域にテキストと画像を追加する手順について説明しました。また、Aspose.PDF Cloud SDK for Java をインストールし、Java 言語で使用して PDF ファイルのヘッダーまたはフッター セクションにテキストと画像を追加する手順についても説明しました。API のその他の興味深い機能の詳細については、製品ドキュメント を参照してください。

当社のクラウドSDKはすべてオープンソースなので、完全なソースコードはGitHubからダウンロードできます。