チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
PDF 文書にヘッダーを追加することは、文書のタイトル、作成者、ページ番号などの重要な情報を表示する便利な方法です。ヘッダーは、文書の各ページの上部に表示されるテキストまたはグラフィックのセクションで、必要に応じてカスタマイズできます。この機能は、レポートや契約書など、一貫した書式が求められる専門的な文書を作成する際に特に役立ちます。この記事では、Spire.PDF for Java を使用して、Java で既存の PDF ドキュメントにヘッダーを追加する方法を説明します。
まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>8.11.0</version>
</dependency>
</dependencies>
Spire.PDF for Java によって既存の PDF ドキュメントが操作されると、座標系の原点はページの左上隅に配置され、x軸は右に、y軸は下に延びています。ページにヘッダーを追加するとは、テキスト、画像、自動フィールド、形状などのコンテンツを、ページの上部の空白領域の指定された場所に追加することを意味します。
空白領域が追加したいコンテンツを収容するのに十分でない場合は、PDF ページの余白を増やすことができます。
Spire.PDF for Java では、PdfCanvas.drawString() メソッド、PdfCanvas.drawImage() メソッド、PdfCanvas.drawLine() メソッドやその他の類似メソッドを使用して、PDF ページ上にテキストや画像、図形を描画することができます。ヘッダーにページ番号、セクション、日付などの動的な情報を追加するには、自動フィールドに頼る必要があります。Spire.PDF for Java は、PdfPageNumberField クラス、PdfSectionNumberField クラス、PdfCreationDateField クラスなどを提供し、これらのデータの動的な追加を実現します。
以下は、Spire.PDF for Java を使用して、テキスト、画像、日付、行からなるヘッダーを PDF 文書に追加する手順です。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfCreationDateField;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class AddHeaderToPdf {
public static void main(String[] args) {
//PdfDocumentオブジェクトを作成します
PdfDocument doc = new PdfDocument();
//PDFファイルをロードします
doc.loadFromFile("サンプル.pdf");
//ヘッダー用の画像をロードします
PdfImage headerImage = PdfImage.fromFile("Logo.png");
//画像の幅をピクセル単位で取得します
float width = headerImage.getWidth();
//ピクセルをポイントに変換します
PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
float pointWidth = unitCvtr.convertUnits(width, PdfGraphicsUnit.Pixel, PdfGraphicsUnit.Point);
//ヘッダーのテキストを指定します
String headerText = "E-iceblue Tech\nwww.e-iceblue.com";
//TrueTypeフォントを作成します
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Gothic", Font.BOLD, 12),true);
//ブラシを作成します
PdfBrush brush = PdfBrushes.getPurple();
//ペンを作成します
PdfPen pen = new PdfPen(brush, 1.0f);
//作成日時フィールドを作成します
PdfCreationDateField creationDateField = new PdfCreationDateField(font, brush);
creationDateField.setDateFormatString("yyyy-MM-dd");
//静的な文字列と日付フィールドを組み合わせるための複合フィールドを作成します
PdfCompositeField compositeField = new PdfCompositeField(font, brush, "作成日時: {0}", creationDateField);
compositeField.setLocation(new Point(55, 48));
//ドキュメント内のページをループします
for (int i = 0; i < doc.getPages().getCount(); i++)
{
//特定のページを取得します
PdfPageBase page = doc.getPages().get(i);
//画像を上部の空白領域に描画します
page.getCanvas().drawImage(headerImage, page.getActualSize().getWidth() - pointWidth - 55, 20);
//テキストを上部の空白領域に描画します
page.getCanvas().drawString(headerText, font, brush, 55, 10);
//上部の空白領域に線を描画します
page.getCanvas().drawLine(pen, new Point(55, 70), new Point((int)page.getActualSize().getWidth() - 55, 70));
//複合フィールドを上部の空白領域に描画します
compositeField.draw(page.getCanvas());
}
//ファイルに保存します
doc.saveToFile("output/PDFにヘッダーを挿入.pdf");
doc.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
ヘッダーは、多くの場合、ドキュメントの追加情報を表示するために使用されます。時間、グラフィックス、会社のロゴ、ドキュメントのタイトル、ファイル名、作成者名などを挿入できます。この記事では、Spire.PDF for Java を使用して Java プログラムで PDF に複数のヘッダーを追加する方法について説明します。
まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。Jar ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>5.2.3</version>
</dependency>
</dependencies>
Java コード一覧
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class addDifferentHeaders {
public static void main(String[] args) {
String output = "output/addDifferentHeaders.pdf";
//サンプルPDFドキュメントをロードする
PdfDocument doc = new PdfDocument();
doc.loadFromFile("Sample.pdf");
String header1 = "Add header by Spire.PDF";
String header2 = "Different header";
//スタイルを定義する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", Font.BOLD,12));
PdfBrush brush= PdfBrushes.getBlue();
Rectangle2D rect = new Rectangle2D.Float();
Dimension2D dimension2D = new Dimension();
dimension2D.setSize(doc.getPageSettings().getSize().getWidth(),50f);
rect.setFrame(new Point2D.Float(0, 20), dimension2D);
PdfStringFormat format=new PdfStringFormat();
format.setAlignment(PdfTextAlignment.Center);
//最初のページにヘッダーを追加する
doc.getPages().get(0).getCanvas().drawString(header1,font,brush,rect,format);
//2ページ目のヘッダーを追加する
format.setAlignment( PdfTextAlignment.Left);
doc.getPages().get(1).getCanvas().drawString(header2, font, brush, rect, format);
//ドキュメントを保存する
doc.saveToFile(output, FileFormat.PDF);
}
}
スクリーンショット一覧
ヘッダーを追加した PDF ドキュメント
今回の Java を使用して PDF に複数のヘッダーを追加する方法は以上でした。最後まで読んでいただきありがとうございました。
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30日間有効な一時ライセンスを取得してください。