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和spire.common.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();
}
}
圖片水印添加效果:
(文本完)
轉載請注明出處!
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
總結
以上是生活随笔為你收集整理的java pdf 水印_Java 在PDF中添加水印——文本/图片水印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java bean工厂_java-将Se
- 下一篇: java中toarray()的 用法_j