美文网首页
Java 添加PDF文本水印和图片水印

Java 添加PDF文本水印和图片水印

作者: Tina_Tang | 来源:发表于2020-02-24 10:09 被阅读0次

在日常办公中,PDF文件的使用越来越普遍。为了防止自己撰写的文件内容被抄袭或者被他人盗用,给PDF文件添加上水印是一个不错的选择。根据添加的水印内容不同一般可分为文本水印和图片水印。本文将通过使用Java程序来详细介绍如何在PDF文件中添加文本水印和图片水印。

使用工具:Free Spire.PDF for Java(免费版)

Jar文件获取及导入:

方法1通过官方网站下载获取jar包。解压后将lib文件夹下的Spire.Pdf.jar文件导入Java程序。(如下图)

方法2通过maven仓库安装导入。具体安装详解参见此网页

【示例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("D:\\Desktop\\Sample.pdf");

//获取第一页

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

//调用insertWatermark方法插入文本水印

        insertWatermark(page, "Confidential");

//保存文档

        pdf.saveToFile("output/TextWaterMark.pdf");

    }

static voidinsertWatermark(PdfPageBase page, String watermark){

        Dimension2D dimension2D =new Dimension();

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

        PdfTilingBrush brush =new PdfTilingBrush(dimension2D);

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

        brush.getGraphics().save();

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

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

       brush.getGraphics().drawString(watermark,new PdfFont(PdfFontFamily.Helvetica, 24), 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 ImageWatermark {

public static void main(String[] args) {

//加载PDF文档

        PdfDocument doc = new PdfDocument();

        doc.loadFromFile("D:\\Desktop\\Sample.pdf");

//获取第一页

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

//设置背景图片

        page.setBackgroundImage("D:\\Desktop\\Image.jpg");

//设置背景区域

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

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

       page.setBackgroundRegion(rect);

//保存文档

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

        doc.close();

    }

}

图片水印添加效果:

(本文完)

相关文章

  • Java 添加、删除PPT文本和图片水印

    在前文中,我介绍过如何给PDF文档添加文本和图片水印。本文将详细讲解如何添加、删除PPT文本和图片水印。 此次代码...

  • Java 添加PDF文本水印和图片水印

    在日常办公中,PDF文件的使用越来越普遍。为了防止自己撰写的文件内容被抄袭或者被他人盗用,给PDF文件添加上水印是...

  • 利用python去除pdf水印

    去水印只针对pdf通过给与的水印图,找出相似水印并去除 本文参考资料:Python操作PDF-文本和图片提取(使用...

  • iOS给图片添加文字水印和图片水印

    加水印的方式有很多,比如给图片添加图片水印、文字水印,或者给视频添加图片水印、文字水印。本文首先讲解如何给图片添加...

  • PDF添加水印的小技巧,你知道怎么操作吗?

    PDF怎么添加水印呢?在使用PDF文件的时候,很多人就会问到PDF文件怎么添加水印呢?想要给PDF文件添加水印就可...

  • 2020-06-29

    各种页面中添加水印,vue添加水印 /* 添加水印函数addWaterMarker str:水印显示的文本内容 *...

  • PDF转换器之怎样给PDF文件添加水印?

    PDF添加水印的方法:PDF添加水印的方法有哪些?大家都知道想要给PDF文件添加水印不是一件简单的事情,没有找到好...

  • 设置二维码图片背景透明教程

    继之前的博客:PDF文件添加二维码水印教程、图片添加二维码水印教程之后,对之前的添加二维码水印功能进行完善,之前的...

  • Mac Word添加水印图片后去除页眉横线

    mac上Word添加图片水印后会自动添加页眉页脚,去除方法如下 1.布局-水印,添加图片水印 2.自动添加页眉页脚...

  • FFMpeg常用指令

    水印篇 1、添加水印ffmpeg官方提供了另外一种添加图片水印的方法在视频右下角的添加图片水印 在视频左下角添加图...

网友评论

      本文标题:Java 添加PDF文本水印和图片水印

      本文链接:https://www.haomeiwen.com/subject/xicmqhtx.html