atermark for Java を使用したドキュメントのプレビュー方法
ドキュメントのプレビュー 機能は、膨大な数のファイルを扱うアプリケーションにとって必須です。GroupDocs.Watermark for Java を使えば、ドキュメント全体をメモリに読み込むことなく、迅速かつ高品質なプレビュー画像を生成できます。このガイドでは、ライブラリのセットアップ方法、ページストリームの管理方法、そしてドキュメントの各ページのプレビュー画像を作成する手順をステップバイステップで紹介します。
Quick Answers
- 推奨ライブラリは? GroupDocs.Watermark for Java (v24.11)
- このチュートリアルの主要キーワードは? how to preview documents
- ライセンスは必要ですか? 評価用のトライアルで動作しますが、本番環境ではフルライセンスが必要です。
- 出力形式はカスタマイズできますか? はい – ページストリームテンプレートのファイル拡張子を変更すれば可能です。
- コードはスレッドセーフですか? Watermarker インスタンスはスレッドセーフではありません。スレッドごとに別のインスタンスを作成してください。
Java におけるドキュメントプレビューとは?
ドキュメントプレビューは、ファイルの 1 ページを表す軽量画像(主に PNG または JPEG)です。ユーザーはコンテンツを素早く確認でき、ファイルブラウザ、CMS、クラウドストレージサービスの UX が向上します。
プレビュー生成に GroupDocs.Watermark を使用する理由
- パフォーマンス重視: ドキュメント全体をレンダリングせずにページ画像を生成します。
- クロスフォーマット対応: PDF、Office ファイル、Visio など多数の形式に対応。
- 組み込みストリーム処理:
ICreatePageStreamとIReleasePageStreamインターフェイスでリ前に以下を **の安定版。
- JDK 8 以上 がインストールされた環境と、IntelliJ IDEA または Eclipse などの IDE。
- 基本的な Java の知識(ファイル I/O、オブジェクト指向プログラミング)。
GroupDocs.Watermark for Java の設定
Maven を使ってライブラリをプロジェクトに追加します。
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/watermark/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>24.11</version>
</dependency>
</dependencies>
または公式ページから JAR を直接ダウンロードしてください:
GroupDocs.Watermark for Java releases
ライセンス取得
- 無料トライアル – 機能が制限された評価版。
- 一時ライセンス – 短期間のフル機能評価。
- フルライセンス – 無制限利用ガイド
Watermarker の初期化
最初のステップは、ソースドキュメントを指す Watermarker インスタンスを作成することです。
import com.groupdocs.watermark.Watermarker;
public class FeatureInitializeWatermarker {
public static void main(String[] args) {
String inputDocumentPath = "YOUR_DOCUMENT_DIRECTORY/diagram.vdx";
// Initialize Watermarker with the specified document
Watermarker watermarker = new Watermarker(inputDocumentPath);
System.out.println("Watermarker initialized.");
}
}
Tip:
YOUR_DOCUMENT_DIRECTORY/diagram.vdxを、プレビュースに置き換レビューStream` を実装して、各ページ画像の保存先と保存方法をライブラリに指示します。
import java.io.FileOutputStream;
import com.groupdocs.watermark.options.ICreatePageStream;
import java.io.OutputStream;
public class FeatureCreatePageStream implements ICreatePageStream {
private final String fileNameTemplate;
public FeatureCreatePageStream(String outputDirectory) {
this.fileNameTemplate = outputDirectory + "/page%s.png";
}
@Override
public OutputStream createPageStream(int pageNumber) {
String fileName = String.format(this.fileNameTemplate, pageNumber);
try {
return new FileOutputStream(fileName);
} catch (Exception ex)
{
throw new RuntimeException(ex);
}
}
}
page%s.png は page stream java パターンで、プレビュー画像に自動的に page1.png、page2.png といった名前を付けます。
ページストリームの解放
ストリームを適切に閉じることでメモリリークを防止します。
import com.groupdocs.watermark.options.IReleasePageStream;
import java.io.OutputStream;
public class FeatureReleasePageStream implements IReleasePageStream {
@Override
public void releasePageStream(int pageNumber, OutputStream pageStream) {
try
{
pageStream.close();
} catch (Exception ex)
{
throw new RuntimeException(ex);
}
}
}
ドキュメントプレビューの生成
すべてを組み合わせて、**Preview` を呼び出します。
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.PreviewOptions;
public class FeatureGenerateDocumentPreview {
public static void main(String[] args) {
String inputDocumentPath = "YOUR_DOCUMENT_DIRECTORY/diagram.vdx";
Watermarker watermarker = new Watermarker(inputDocumentPath);
FeatureCreatePageStream createPageStream = new FeatureCreatePageStream("YOUR_OUTPUT_DIRECTORY");
FeatureReleasePageStream releasePageStream = new FeatureReleasePageStream();
PreviewOptions previewOptions = new PreviewOptions(createPageStream, releasePageStream);
watermarker.generatePreview(previewOptions);
watermarker.close();
}
}
createPageStreamが各プレビュー画像用の page stream java 作成を担当します。releasePageStreamがページ書き込み後にリソースを解放します。
実用例
PDF ビューアアプリ – ファイルを開く前にサムネイルプレビューを表示。
コンテンツ管理システム – エディタがドキュメント内容を素早く閲覧可能。
クラウドストレージサービス – アップロード時にオンザフライでサムネイルを生成
メモリ使用量 – ストリームインターフェイスを利用して、ドキュメント全体を RAM にロードしないようにします。
I/O 最適化 – 多数のページを処理する場合は、
FileOutputStreamをBufferedOutputStreamでラップしてください。バッチ処理 – 各スレッドが独自の
Watermarkerインスタンスを持つ形で、プレビュー生成を並列実行できます。
よくある問題と対策
| Issue | Why it Happens | Fix |
|---|---|---|
| OutOfMemoryError | 大きなドキュメントを一括で読み込んでいる | スト位に処理してください。リ_DIRECTORY書き込み可能か確認してくださいDocs.Watermark でサポートされているか確認(例: PDF、DOCX、VDX)。 |
FAQ(よくある質問)
Q: パスワード保護されたドキュメントのプレビューは生成できますか?
A: はい。パスワード文字列を受け取る Watermarker のコンストラクタオーバーロードを使用してください。
Q: プレビューに対応している画像形式は何ですか?
A: デフォルトは PNG ですが、FeatureCreatePageStream のファイル拡張子を JPEG、BMP などに変更可能です。
Q: 特定のページだけプレビューしたい場合は?
A: PreviewOptions.setPageNumber(int pageNumber) を使用して、単一ページのプレビューを生成できます。
Q: ライブラリは Linux/macOS でも動作しますか?
A: はい。Java ランタイムさえあれば、プラットフォームに依存せず動作します。
Q: バッチ処理後に一時ファイルを削除したい場合は?
A: 生成されたプレビュー画像を手動で削除するか、スケジュールされたクリーンアップタスクを実装してください。
最終更新日: 2026-02-03
テスト環境: GroupDocs.Watermark Java 24.11
作成者: GroupDocs