JavaでExcelシートに透かしを追加する

ドキュメントを著作権侵害から保護するため、または記号やメッセージを表示するために、透かしをドキュメントに追加できます。他の投稿では、さまざまなドキュメント、画像、プレゼンテーションに透かしを入れる方法について説明しました。この記事では、Javaでさまざまな方法でExcelワークブックに透かしを追加する方法を学習します。それぞれのアプローチを使用して、透かしを個別に適用します。

以下のトピックについて説明します。

Excelシートに透かしを入れるJavaAPI

GroupDocs.Watermark for Javaは、ドキュメント、プレゼンテーション、画像、およびその他の多くのファイル形式の透かしを自動化するためのAPIです。サポートされているドキュメント形式の完全なリストは、ドキュメントにあります。

** JAR**ファイルはダウンロードセクションからダウンロードするか、Javaアプリケーション内で最新のリポジトリと依存関係Mavenの構成を使用できます。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-watermark</artifactId>
        <version>21.3</version> 
</dependency>

Javaを使用した透かしExcelシート

透かしAPIは、透かしをテキストとしてスプレッドシートに挿入しながらカスタマイズを提供します。以下は、JavaでExcelワークブックに透かしを追加する手順です。

  • WatermarkerSpreadsheetLoadOptionsを使用してソーススプレッドシートをロードします。
  • TextWatermarkを使用して、透かしのテキストと外観のプロパティを定義します。
  • add() mehtodを使用して、定義された透かしをExcelワークシートに追加します。
  • save() メソッドを使用して、結果のスプレッドシートを透かし付きで保存します。

次のJavaコードサンプルは、Excelブックのすべてのシートに、回転と不透明度、および設定された配置でテキスト透かしを追加します。

/*
 * JavaのExcelワークブックのすべてのシートに透かしを追加します
 */
// スプレッドシートを読み込む
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// テキスト透かしの外観を設定する
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
watermark.setSizingType(SizingType.ScaleToParentDimensions);
watermark.setScaleFactor(0.5);
watermark.setOpacity(0.5);

// 透かしを追加し、透かし付きのスプレッドシートを保存します
watermarker.add(watermark);
watermarker.save("path/watermark-all-spreadsheet.xlsx");
watermarker.close();

Javaを使用した透かし固有のExcelシート

同様に、ワークブックの任意の1枚のシートに透かしを挿入することもできます。次の手順は、JavaでExcelワークブックの特定のシートにテキスト透かしを適用する方法について説明しています。

  • ウォーターマーカーを使用してスプレッドシートをロードします。
  • TextWatermarkを使用して透かしの外観とテキストを設定します。
  • 透かしが上記のシートにのみ適用されるようにワークシートのインデックスを設定します。
  • 透かしオプション付きのadd() mehtodを使用して、Excelワークシートにテキスト透かしを追加します。
  • save() メソッドを使用して、透かしのある出力スプレッドシートを保存します。

次のJavaコードスニペットは、Excelワークブックの言及されたシートにのみテキスト透かしを適用します。

/*
 * Javaを使用して、Excelワークブックの上記のシートにのみ透かしを追加します
 */
// スプレッドシートを読み込む
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// テキスト透かしとそのワークシートインデックスを設定する
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
SpreadsheetWatermarkModernWordArtOptions options = new SpreadsheetWatermarkModernWordArtOptions();               
options.setWorksheetIndex(0);

// 透かしを追加し、透かし付きのスプレッドシートを保存します
watermarker.add(watermark, options);
watermarker.save("path/watermark-single-sheet.xlsx");
watermarker.close();

Javaを使用した背景としての透かしExcelシート

同様に、スプレッドシートの背景として透かしを追加することもできます。透かしを適用するための上記のアプローチにいくつかの変更があります。以下は、JavaのExcelスプレッドシートに背景テキストの透かしを挿入する手順です。

  • ウォーターマーカーを使用してスプレッドシートを読み込みます。
  • TextWatermarkを使用して、透かしテキストとその外観を準備します。
  • コンテンツを取得して寸法を設定することにより、透かしオプションを使用して透かし設定を背景として設定します。
  • add() mehtodを使用して、ワークブックシートに透かしを追加します。
  • 最後に、save() メソッドを使用して透かし入りのスプレッドシートを保存します。

次のコードサンプルを使用して、JavaのExcelスプレッドシートに背景テキストの透かしを追加できます。

/*
 * JavaのExcelワークブックに透かしを背景として追加する
 */
// スプレッドシートを読み込む
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// テキスト透かしの外観を設定する
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
watermark.setSizingType(SizingType.ScaleToParentDimensions);
watermark.setScaleFactor(0.5);
watermark.setOpacity(0.5);

// 背景に透かしを追加する
SpreadsheetContent content = watermarker.getContent(SpreadsheetContent.class);
SpreadsheetBackgroundWatermarkOptions options = new SpreadsheetBackgroundWatermarkOptions();
options.setBackgroundWidth(content.getWorksheets().get_Item(0).getContentAreaWidthPx()); /* set background width */
options.setBackgroundHeight(content.getWorksheets().get_Item(0).getContentAreaHeightPx()); /* set background height */

// 透かし付きのスプレッドシートを保存
watermarker.add(watermark, options);
watermarker.save("path/watermark-background-spreadsheet.xlsx");
watermarker.close();
プログラムで透かしExcelシート

無料のAPIライセンスを取得する

評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。

結論

この記事では、Javaアプリケーション内でさまざまな方法でExcelシートに透かしを追加する方法について説明しました。 Excelブックのすべてのシートに透かしを挿入する方法を学び、特定のシートにのみ透かしを適用しました。その後、透かしを背景として適用しました。これで、この機能を使用して、スプレッドシートに透かしを入れる独自のアプリケーションを作成できます。

APIの詳細については、ドキュメントをご覧ください。お問い合わせは、フォーラムまでお問い合わせください。

関連項目