1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java pdf 水印_Java 在PDF中添加水印——文本/图片水印

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

时间:2023-11-02 17:09:37

相关推荐

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

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

jar文件导入:

步骤1:首先,在java程序中新建一个文件夹可命名为lib。下载spire.pdf for java的包后,解压,将解压后的文件夹下的子文件夹lib中的spire.pdf.jar和mon.jar两个文件复制到新建的文件夹lib下,如下图:

步骤2:建好文件夹后,引用两个文件:选中这两个文件,点击鼠标右键,选择“build path” – “add to build path”。

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, "top secret");

//保存文档

pdf.savetofile("out/textwatermark.pdf");

}

static void insertwatermark(pdfpagebase page, string watermark) {

dimension2d dimension2d = new dimension();

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() / 4, (float) brush.getsize().getheight() / 5);

brush.getgraphics().rotatetransform(-45);

brush.getgraphics().drawstring(watermark, new pdffont(pdffontfamily.helvetica, 15), 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();

}

}

图片水印添加效果:

(文本完)

转载请注明出处!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。