在 Java 中為 Excel 工作表添加水印

可以將水印添加到文檔以保護文檔免受盜版或顯示任何符號或消息。在其他帖子中,我們討論了為不同文檔、圖像和演示文稿添加水印的方法。在本文中,您將學習如何在 Java 中以不同的方式向 Excel 工作簿添加水印。我們將使用每種方法分別應用水印。

以下主題涵蓋如下:

給 Excel 工作表加水印的 Java API

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 工作簿添加水印的步驟。

以下 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 工作表

同樣,您也可以將水印插入到工作簿的任何一張紙中。以下步驟指導如何在 Java 中將文本水印應用於 Excel 工作簿的特定工作表。

  • 使用 Watermarker 加載電子表格。
  • 使用 TextWatermark 設置水印外觀和文本。
  • 設置工作表索引,以便水印僅應用於提到的工作表。
  • 使用帶有水印選項的 add() 方法將文本水印添加到 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電子表格中插入背景文字水印的步驟。

  • 使用 Watermarker 加載電子表格。
  • 使用 TextWatermark 準備水印文本及其外觀。
  • 通過獲取內容和設置尺寸,使用水印選項設置水印設置使其成為背景。
  • 使用 add() 方法將水印添加到工作簿中。
  • 最後,使用 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 的更多信息。如有疑問,請通過論壇 聯繫我們。

也可以看看