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 など多数の形式に対応。
  • 組み込みストリーム処理: ICreatePageStreamIReleasePageStream インターフェイスでリ前に以下を **の安定版。
  1. JDK 8 以上 がインストールされた環境と、IntelliJ IDEA または Eclipse などの IDE。
  2. 基本的な 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.pngpage stream java パターンで、プレビュー画像に自動的に page1.pngpage2.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 最適化 – 多数のページを処理する場合は、FileOutputStreamBufferedOutputStream でラップしてください。

  • バッチ処理 – 各スレッドが独自の Watermarker インスタンスを持つ形で、プレビュー生成を並列実行できます。

よくある問題と対策

IssueWhy it HappensFix
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