1. 首页
  2. Foxit PDF SDK(Windows版)
  3. 如何添加水印(Java)
  1. 首页
  2. Foxit PDF SDK(Mac版)
  3. 如何添加水印(Java)
  1. 首页
  2. Foxit PDF SDK(Linux版)
  3. 如何添加水印(Java)

如何添加水印(Java)

水印 (Watermark)

水印是一种PDF注释,广泛用于PDF文档。水印是文档上嵌入的可见叠加层,包含文本、logo或版权声明。水印的目的是对作者工作成果的保护,防止其未经授权而被他人使用。Foxit PDF SDK提供了允许应用程序创建、插入和删除水印的APIs。

Example:

如何创建一个文本水印,并将其插入到PDF文档的第一页

import com.foxit.sdk.common.Font;
import com.foxit.sdk.pdf.*;
import com.foxit.sdk.pdf.Watermark;
import com.foxit.sdk.pdf.WatermarkSettings;
import com.foxit.sdk.pdf.WatermarkTextProperties;

import com.foxit.sdk.common.Constants;

import static com.foxit.sdk.common.Constants.e_AlignmentCenter;
import static com.foxit.sdk.common.Font.e_StdIDTimesB;
import static com.foxit.sdk.pdf.WatermarkSettings.*;
import static com.foxit.sdk.pdf.WatermarkTextProperties.e_FontStyleNormal;
...

// Assuming PDFDoc doc has been loaded.

WatermarkSettings settings = new WatermarkSettings();
settings.setFlags(e_FlagASPageContents | e_FlagOnTop);
settings.setOffset_x(0);
settings.setOffset_y(0);
settings.setOpacity(90);
settings.setPosition(Constants.e_PosTopRight);
settings.setRotation(-45.f);
settings.setScale_x(1.f);
settings.setScale_y(1.f);

WatermarkTextProperties text_properties = new WatermarkTextProperties();
text_properties.setAlignment(e_AlignmentCenter);
text_properties.setColor(0xF68C21);
text_properties.setFont_size(e_FontStyleNormal);
text_properties.setLine_space(1);
text_properties.setFont_size(12.f);
text_properties.setFont(new Font(e_StdIDTimesB));

Watermark watermark = new Watermark(doc, "Foxit PDF SDK\nwww.foxitsoftware.com", text_properties, settings);
watermark.insertToPage(page);

// Save document to file
...

如何创建一个图片水印,并将其插入到PDF文档的第一页

import com.foxit.sdk.common.Bitmap;
import com.foxit.sdk.common.Image;
import com.foxit.sdk.pdf.*;
import com.foxit.sdk.pdf.Watermark;
import com.foxit.sdk.pdf.WatermarkSettings;

import com.foxit.sdk.common.Constants;

import static com.foxit.sdk.common.Constants.e_AlignmentCenter;
import static com.foxit.sdk.common.Font.e_StdIDTimesB;
import static com.foxit.sdk.pdf.WatermarkSettings.*;
import static com.foxit.sdk.pdf.WatermarkTextProperties.e_FontStyleNormal;
...

// Assuming PDFDoc doc has been loaded.

WatermarkSettings settings = new WatermarkSettings();
settings.setFlags(e_FlagASPageContents | e_FlagOnTop);
settings.setOffset_x(0.f);
settings.setOffset_y(0.f);
settings.setOpacity(20);
settings.setPosition(Constants.e_PosCenter);
settings.setRotation(0.0f);

Image image = new Image(image_file);
Bitmap bitmap = image.getFrameBitmap(0);
settings.setScale_x(page.getWidth() * 0.618f / bitmap.getWidth());
settings.setScale_y(settings.getScale_x());

Watermark watermark = new Watermark(doc, image, 0, settings);
watermark.insertToPage(page);

// Save document to file.
...

如何从PDF页面中删除所有的水印

import com.foxit.sdk.pdf.PDFPage;
...
// Assuming PDFPage page has been loaded and parsed.
...
page.removeAllWatermarks();
...
// Save document to file
...
更新于 2020年4月22日

这篇文章有用吗?

相关文章