水印是一种十分常用的防伪手段,常用于各种文档、资料等。常见的水印,包括文字类型的水印、图片或logo类型的水印。以下Java示例,将分别使用insertTextWatermark(PdfPageBase page, String watermark)方法以及page.SetBackgroundImage(String arg0)方法来设置文本水印和图片水印。下面将演示具体的代码操作,内容供参考。

Jar文件导入(方法1):

步骤1:下载jar包-解压,复制文件夹lib中的jar文件

步骤2:在程序中新建一个directory目录,并命名,将步骤1中的jar文件复制到此处。

步骤3:选中复制后的jar文件,点击鼠标右键,选着“Add as Library”。完成引用。

Jar文件导入(方法2):通过maven安装,可参考官网上的具体操作步骤。

Java代码示例(供参考)

【示例1】添加文本水印import com.spire.pdf.*;

import com.spire.pdf.graphics.*;

import java.awt.*;

import java.awt.geom.*;

public class Textwatermark {

public static void main(String[] args) {

//创建PdfDocument类的对象

PdfDocument pdf = new PdfDocument();

//加载测试文档

pdf.loadFromFile("test.pdf");

//获取测试文档中的第一页

PdfPageBase page = pdf.getPages().get(0);

//调用insertWatermark()方法添加文本水印

insertWatermark(page);

//保存文档

pdf.saveToFile("out/textWaterMark.pdf");

}

static void insertWatermark(PdfPageBase page) {

Dimension2D dimension2D = new Dimension();

PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 14), true);

dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 5, page.getCanvas().getClientSize().getHeight() / 5);

PdfTilingBrush brush = new PdfTilingBrush(dimension2D);

brush.getGraphics().setTransparency(0.4F);

brush.getGraphics().save();

brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 5, (float) brush.getSize().getHeight() / 5);

brush.getGraphics().rotateTransform(-45);

brush.getGraphics().drawString("密件", font1, PdfBrushes.getViolet(), 0 , 0 , new PdfStringFormat(PdfTextAlignment.Center));

brush.getGraphics().restore();

brush.getGraphics().setTransparency(1);

Rectangle2D loRect = new Rectangle2D.Float();

loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());

page.getCanvas().drawRectangle(brush, loRect);

}

}

文本水印添加效果:

【示例2】添加图片水印import com.spire.pdf.*;

import java.awt.geom.Rectangle2D;

public class watermark {

public static void main(String[] args) {

//实例化PdfDocument类的对象,并加载测试文档

PdfDocument doc = new PdfDocument();

doc.loadFromFile("test.pdf");

//获取文档第1页

PdfPageBase page = doc.getPages().get(0);

//加载图片,设置为背景水印

page.setBackgroundImage("logo.png");

//指定水印在文档中的位置及图片大小

Rectangle2D.Float rect = new Rectangle2D.Float();

rect.setRect(150, 150, 300, 150);

page.setBackgroundRegion(rect);

//保存文档

doc.saveToFile("output/imageWaterMark.pdf");

doc.close();

}

}

图片水印添加效果:

(本文完)

java pdf 水印_Java在PDF中添加水印(文本/图片水印)相关推荐

  1. java pdf 水印_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...

  2. java给水印被pdf图片盖住_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  3. java jlabel 对齐_java – 将JLabel中的文本对齐

    这可以通过两种方式完成. JLabel水平对齐 您可以使用JLabel constructor: JLabel(String text, int horizontalAlignment) 与右对齐: ...

  4. java为word添加水印,图片水印和文字水印

    java为word添加水印,图片水印和文字水印 jdk1.5及以上 所需jar包:Spire.Office.jar 或 Spire.Doc.jar jar包下载:https://www.e-icebl ...

  5. java给文件添加水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  6. java pdf 水印_Java在PDF中添加水印(文本/图片水印)效果

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  7. Java在PDF中添加水印(文本/图片水印)效果import com.spire.pdf.*; import com.spire.pdf.graphics.*; import java.awt.*;

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  8. java为PDF添加水印,图片水印和文字水印

    java为PDF添加水印,文字水印和图片水印 一个需求,下载pdf.word.excel文件时要带有水印,要求铺满.先分开,先介绍为PDF文件添加文字水印和图片水印. 所需jar包:itext-2.0 ...

  9. java 去掉pdf文字_Java 删除PDF中的附件

    在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档.同样的,在我们删除P ...

最新文章

  1. WAT中Security选项卡无法连接到数据库解决办法
  2. JVM内存管理机制线上问题排查
  3. 解码python_Python解码
  4. JZOJ__Day 3:【NOIP普及模拟】排序(sort)
  5. 【算法系列之万字总结常用的查找算法,持续补充更新中】
  6. python获取系统当前时间并转utc时间为绝对秒数_用Python将datetime.date转换为UTC时间戳...
  7. 基于.NetCore结合docker-compose实践Gitlab-CI/CD 排坑指南
  8. 通信技术计算机通信方向专业,江西科技学院2014年招生通信工程(计算机通信方向)专业介绍...
  9. 奇安信代码卫士帮助微软修复多个高危漏洞,获官方致谢
  10. 服务器间数据传输的四种方式
  11. ConcurrentModificationException---异常剖析
  12. 《Android 应用案例开发大全(第3版)》——第1.2节掀起Android的盖头来
  13. java使用easypoi实现word模板导出
  14. 三菱机床的程序传输(DNC)支持上传到CF卡
  15. HTML前端连接go语言后段,一次完整的浏览器请求响应过程-Go语言中文社区
  16. 如何用美剧真正提升你的英语水平?
  17. Android App网络通信中通过runOnUiThread快速操纵界面以及利用线程池Executor调度异步任务实战(附源码 简单易懂)
  18. CGB2202API基础第1天
  19. 如何利用路由器连接wifi并将wifi网络分发出去
  20. 明天太阳照常升起的概率是多少?

热门文章

  1. mongo vue 破解
  2. WorkNC在福田模具的应用
  3. iText7高级教程之构建基础块——1.引入字体
  4. Unity 工具栏功能介绍
  5. UI设计课EDC研究所1期 Part 18/19 -金刚区图标细节
  6. 云翌通信联合方位、鼎信在杭州、北京的产品交流会圆满结束
  7. SCI投稿过程总结、投稿状态解析、修稿处理、拒稿后对策及接受后总结等
  8. 建筑施工技术【16】
  9. 读Spring的源代码六:Controller mapping的注册过程
  10. 交通灯6-产品说明书