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

可以将水印添加到文档中以保护文档免受盗版或显示任何符号或消息。在其他帖子中,我们讨论了为不同的文档、图像和演示文稿添加水印的方法。在本文中,您将学习如何在 Java 中以不同方式向 Excel 工作簿添加水印。我们将使用每种方法分别应用水印。

以下主题涵盖以下内容:

Java API 到水印 Excel 表

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 的更多信息。如有疑问,请通过 论坛 联系我们。

也可以看看