GroupDocs.Watermark for Java を使用した PDF への透かし追加

このガイドでは、GroupDocs.Watermark Java SDK を使用して PDF に透かしを追加 する方法を学びます。ディスク、ストリーム、またはパスワード保護されたソースからドキュメントを読み込み、テキストまたは画像の透かしを適用し、最終的に更新された PDF を保存する手順を解説します。バッチプロセッサを構築する場合でも単一ファイルサービスを提供する場合でも、信頼性の高い本番環境向けソリューションが得られます。

クイック回答

  • パスワード保護された PDF に透かしを追加できますか? はい – ドキュメントを読み込む際にパスワードを渡せば、通常通り透かしを適用できます。
  • どのフォーマットに透かしを付けられますか? PDF、DOCX、PPTX、画像など、30 以上のフォーマットに対応しています。
  • 開発にライセンスは必要ですか? テスト用の一時ライセンスで動作しますが、本番環境では正式ライセンスが必要です。
  • 必要な Java バージョンは? Java 8 以上がサポートされています。
  • ストリーミングはサポートされていますか? はい – InputStream から読み込み、OutputStream に保存でき、ファイルシステムに触れる必要はありません。

PDF に透かしを追加するとは?

PDF に透かしを追加 とは、所有権、機密性、ブランド表示などの目的で、PDF ドキュメントの各ページに半透明のテキストまたは画像を重ね合わせるプロセスを指します。GroupDocs.Watermark for Java は、位置、透明度、ページ範囲の選択を自動で処理するシングルコール API を提供します。

なぜ GroupDocs.Watermark for Java を使用するのか?

GroupDocs.Watermark は 35 以上のファイル形式 に対応し、典型的なサーバークラス CPU 上で 500 ページの PDF を 2 秒未満 で処理できます。ライブラリは完全にメモリ内で動作するため、Microsoft Office や Adobe Acrobat のインストールは不要です。API はスレッドセーフであり、高スループットの Web サービスに最適です。

前提条件

  • Java 8 以上がインストールされていること。
  • groupdocs-watermark 依存関係を設定した Maven または Gradle プロジェクト。
  • 有効な GroupDocs.Watermark ライセンス(評価用の一時ライセンス)。
  • 保護したい PDF ファイル(必要に応じてパスワード付き)。

PDF に透かしを追加する方法 – 手順

ソースドキュメントをロードし、透かしを適用し、結果を保存します。以下のセクションで各サブタスクに直接答えます。

ディスクからドキュメントをロードする方法?

Watermarker は透かし処理のためにドキュメントをロードおよび操作する主要クラスです。Watermarker コンストラクタに完全なファイルパスを渡すだけで、SDK が自動的にファイル形式を検出し、内容を検証し、メモリにロードします。この方法は PDF、Word、画像など多数のサポート形式で機能します。

Watermarker watermarker = new Watermarker("C:/files/input.pdf");

この行の後、PDF はメモリに完全にロードされ、任意の透かし操作が可能になります。

ストリームからドキュメントをロードする方法?

Watermarker は InputStream を受け取って直接メモリからドキュメントをロードすることもできます。HTTP やメッセージキューでファイルを受け取った場合、バイト配列を ByteArrayInputStream でラップし、InputStream を受け取る Watermarker コンストラクタに渡します。SDK はディスクに書き込まずにストリームを読み取り、パフォーマンスとセキュリティを保ちつつ、データをチャンク単位で処理できるため大容量ファイルにも対応します。

InputStream pdfStream = new ByteArrayInputStream(pdfBytes);
Watermarker watermarker = new Watermarker(pdfStream);

SDK はディスクに書き込まずにストリームを読み取り、パフォーマンスとセキュリティを保ちます。

パスワード保護されたドキュメントをロードする方法?

Watermarker はパスワード保護された PDF を、コンストラクタの第2引数にパスワードを指定することでロードできます。パスワードを第二引数として渡すだけで、SDK がリアルタイムに PDF を復号し、その後は通常のドキュメントと同様に扱えます。パスワードが正しければすべてのページが透かし対象となり、誤っている場合は明確な例外がスローされ、キャッチしてログに記録できます。

Watermarker watermarker = new Watermarker("C:/files/secure.pdf", "mySecretPwd");

パスワードが間違っている場合、SDK は情報豊富な例外をスローし、キャッチしてログに記録できます。

テキスト透かしを適用する方法?

TextWatermark はカスタマイズ可能なスタイルでページに適用できるテキスト透かしを表します。希望するテキスト、フォント、サイズ、色で TextWatermark オブジェクトを作成し、Watermarker インスタンスの add を呼び出します。必要に応じてページ範囲を指定できます。透かしは指定した透明度と回転で描画され、事前定義の位置またはカスタム座標で配置でき、すべてのページで一貫した外観を保ちます。

TextWatermark watermark = new TextWatermark("Confidential", new Font("Arial", 36));
watermark.setColor(Color.RED);
watermark.setTransparency(0.5);
watermarker.add(watermark);

この呼び出しはデフォルトで全ページに透かしを配置します。必要に応じて new PageRange(1, 5) で範囲を限定できます。

画像透かしを適用する方法?

ImageWatermark はロゴやシールなど画像ベースの透かしを表します。ロゴのパスまたはストリームで ImageWatermark をインスタンス化し、テキスト透かしと同様に追加します。SDK は画像のアスペクト比を保ちつつページに合わせて自動的にスケーリングし、透明度、回転、配置を調整して元のコンテンツを歪めずに目的の視覚効果を実現します。

ImageWatermark imgWatermark = new ImageWatermark("C:/images/logo.png");
imgWatermark.setTransparency(0.3);
watermarker.add(imgWatermark);

SDK はアスペクト比を保ちつつ画像をページに合わせてスケーリングします。

透かし付きドキュメントを保存する方法?

save は変更されたドキュメントを指定された場所と形式で書き出します。出力パスと希望の形式を指定して save を呼び出します。形式パラメータを省略した場合はソースと同じ形式が使用されます。このメソッドは変更された PDF をディスクに書き込み、元のコンテンツはすべて保持しつつ新たに追加された透かしレイヤーだけを保存します。また、ストリームへの保存もサポートしています。

watermarker.save("C:/files/output.pdf");

このメソッドは変更された PDF をディスクに書き込み、元のコンテンツはすべて保持しつつ新たに追加された透かしレイヤーだけを保存します。

利用可能なチュートリアル

Java で GroupDocs.Watermark を使用してパスワード保護されたドキュメントをロードする方法

パスワード保護されたドキュメントで透かしをロードおよび管理する方法を学びます。このガイドはステップバイステップの手順、実用的な例、トラブルシューティングのヒントを提供します。

Java で GroupDocs.Watermark を使用してパスワード保護された Word ドキュメントをロードし透かしを付ける方法

Java で GroupDocs.Watermark を活用し、パスワード保護された Word ドキュメントを効率的にロード、管理、透かし付けする方法を学びます。

追加リソース

よくある問題と解決策

  • Invalid password error – パスワード文字列を再確認してください。UTF‑8 エンコードである必要があります。
  • Out‑of‑memory on large PDFs – InputStream と OutputStream を受け取る Watermarker コンストラクタを使用してストリーミングモードを有効にしてください。
  • Watermark not visible – 透かしの透明度が 0.1 以上に設定されていること、ページ背景と色のコントラストがあることを確認してください。

よくある質問

Q: 同じ PDF に複数の透かしを追加できますか?
A: はい。watermarker.add() を異なる TextWatermark または ImageWatermark オブジェクトで繰り返し呼び出すと、追加した順序でレイヤーが重なります。

Q: ライブラリは既存のアノテーションを保持しますか?
A: 完全に保持します。アノテーション、フォームフィールド、メタデータなど、元の PDF オブジェクトは明示的に変更しない限りそのままです。

Q: 特定のページだけに透かしを付けることは可能ですか?
A: はい。add メソッドに PageRange(例:new PageRange(2, 4))を渡すことで、透かしを指定ページのみに限定できます。

Q: サポートされている最大ファイルサイズはどれくらいですか?
A: ストリーミングアーキテクチャにより、2 GB までのファイルをメモリ全体にロードせずに処理できます。

Q: 追加した透かしを削除するにはどうすればよいですか?
A: 透かし追加時に返される watermarkId を使用して watermarker.remove(watermarkId) を呼び出します。


最終更新日: 2026-09-16
テスト環境: GroupDocs.Watermark 23.9 for Java
作者: GroupDocs

関連チュートリアル