`
thinkerAndThinker
  • 浏览: 284636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

为pdf文件添加水印

 
阅读更多

首先需要的jar包为iText-2.1.2u.jar、iTextAsian.jar。

import java.awt.Color;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfGState;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

public class TestWaterPrint {
public static void main(String[]args) throws DocumentException, IOException{
//要输出的pdf文件
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("E:/abc.pdf")));  
Calendar cal = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");    
//将pdf文件先加水印然后输出
setWatermark(bos,"E:/pdf源文件.pdf",format.format(cal.getTime()) + "  下载使用人:" + "测试user", 16); 
}

public static void setWatermark(BufferedOutputStream bos, String input,
String waterMarkName, int permission)
throws DocumentException, IOException {
PdfReader reader = new PdfReader(input);
PdfStamper stamper = new PdfStamper(reader, bos);
int total = reader.getNumberOfPages() + 1;
PdfContentByte content;
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.EMBEDDED);
PdfGState gs = new PdfGState();
for (int i = 1; i < total; i++) {
content = stamper.getOverContent(i);//在内容上方加水印
//content = stamper.getUnderContent(i);//在内容下方加水印
gs.setFillOpacity(0.2f);
// content.setGState(gs);
content.beginText();
content.setColorFill(Color.LIGHT_GRAY);
content.setFontAndSize(base, 50);
content.setTextMatrix(70, 200);
content.showTextAligned(Element.ALIGN_CENTER, "公司内部文件,请注意保密!", 300,
350, 55);
content.setColorFill(Color.BLACK);
content.setFontAndSize(base, 8);
content.showTextAligned(Element.ALIGN_CENTER, "下载时间:"
+ waterMarkName + "", 300, 10, 0);
content.endText();


}
stamper.close();
}
}

分享到:
评论

相关推荐

    asp.net为PDF添加水印

    本文将详细介绍如何使用ASP.NET技术为PDF文件添加水印。 首先,我们需要理解PDF水印的基本概念。水印是在PDF文档上添加的一种半透明图像或文字,它不会遮挡文档内容,但可以清晰地显示在页面之上,起到标识或保护的...

    【C#】两种方式实现给PDF文件加水印,源码分享

    在本文中,我们将深入探讨如何使用C#编程语言来为PDF文件添加水印。我们将重点关注两种不同的方法:一种是利用Spire.Pdf插件,另一种是利用iTextSharp库。这两种方法都允许开发者在PDF文档上高效且无限制地添加水印...

    spire.pdf_6.1_C#给PDF文件添加水印_

    在IT行业中,尤其是在PDF文档处理领域,为PDF文件添加水印是一项常见的需求,这有助于保护文档的版权或者增加额外的信息。本教程将聚焦于使用C#编程语言如何借助Spire.PDF库给PDF文件添加水印。Spire.Pdf是一款功能...

    4.PHP使用插件Mpdf 给PDF文件加水印

    下面我们将详细介绍如何使用Mpdf插件来为PDF文件添加水印。 Mpdf是由Mike Purcell开发的一款开源PHP类库,基于TCPDF,专门用于创建和编辑PDF文档。它的功能强大,支持多种字体、语言、布局和样式,同时也提供了添加...

    java代码,给pdf文件加水印

    在IT行业中,尤其是在文档处理领域,为PDF文件添加水印是一项常见的需求,这可以用于保护版权、标明机密性或添加公司标识等。本篇将详细介绍如何使用Java代码实现这一功能,特别是结合Wingdings.ttf艺术字体来创建...

    1.PHP使用插件fpdf fpdi 给PDF文件加水印(中文乱码)

    本文将详细讲解如何利用这两个插件为PDF文件添加水印,尤其是解决中文乱码的问题。 首先,fpdf是一个开源的PHP类库,它允许我们在服务器端生成PDF文件。fpdf提供了丰富的API,可以方便地创建、编辑和打印PDF文档。...

    .net PDF文件加水印

    总结起来,使用.NET和C#为PDF文件添加水印,主要步骤包括引入PDFsharp库,创建加水印方法,读取PDF文件,循环处理每一页,绘制水印,最后保存结果。通过这个过程,我们可以有效地保护和标识PDF文档,确保其在分发和...

    Python实现给单个PDF文件添加水印的方法.zip

    该工具包主要针对PDF文件,提供了一种简便、高效的方法来为单个PDF文件添加水印。通过使用Python编写的脚本,用户可以轻松地为PDF文件添加自定义文本或图像作为水印,以满足各种办公场景的需求。该工具包主要包括...

    给PDF文件加水印的很好的工具

    A-PDF Watermark是一个非常强大的PDF水印工具,可以批量为pdf文件添加文本或图片水印,如文件名、公司名、签名、产品图片,从而保护PDF文件。A-PDF Watermark也支持为PDF文件添加标记信息,如日期时间、页码、作者。...

    给pdf添加水印

    本文将详细介绍如何使用图片作为水印,批量地为PDF文件添加水印,并特别关注使用iTextSharp库和C#编程语言实现这一过程。 首先,我们需要理解水印的基本概念。水印是一种半透明的标记,它可以是文字、图像或者图形...

    PDF文件水印添加工具

    4、带水印PDF文件路径:可以不填,不填则生成的带水印文件路径是"原始PDF文件路径"添加上(带水印)。 5、需要添加水印的页数:可以不填,传0则代码pdf所有页都添加水印,传5则代码在PDF文件第5页添加水印。 6、...

    Python实现给单个PDF文件添加水印的方法.rar

    在本资源中,我们关注的是使用Python为PDF文件添加水印的功能。这个任务可以通过利用Python的一些第三方库来实现,比如`PyPDF2`用于处理PDF文档,`PIL`(Python Imaging Library)或其更新的分支`Pillow`用于处理...

    pdf文件加水印源代码

    给pdf文件加水印。源代码有详解。主要代码: PdfReader pdfReader = new PdfReader(inputPath); int numberOfPages = pdfReader.NumberOfPages; FileStream outputStream = new FileStream(outputPath, FileMode....

    c# word /pdf添加水印

    在IT行业中,尤其是在文档处理领域,为Word和PDF文件添加水印是一项常见的需求。这主要应用于保护知识产权,表明文档的预览性质或者增加特定标识。本文将深入探讨如何使用C#语言结合.NET框架来实现这一功能,特别是...

    PDF文件加水印

    PDF文件加水印是一项常见的文档保护措施,可以用于标识文档的版权信息或防止未经授权的复制。在本主题中,我们将深入探讨如何通过TXT文件生成PDF文档,并进一步介绍如何添加图片或文字水印。 首先,我们需要了解PDF...

    java生成pdf文件分页输出并添加水印

    本篇文章将深入探讨如何利用Itext库在Java中实现PDF文件的分页输出以及添加水印的功能。 首先,我们需要引入Itext库。你可以通过Maven或Gradle在项目中添加依赖。对于Maven,可以在pom.xml文件中添加以下依赖: ``...

    pdf添加水印实例工程

    本实例工程将指导你如何为PDF文件添加水印。 首先,我们需要了解PDF水印的基本概念。水印通常是一个半透明的文字或图像,它覆盖在PDF页面上,不影响原有内容的阅读,但可以清晰地展示附加信息。水印可以是静态的,...

    word转换PDF的文件,操作PDF,添加水印

    在本篇文章中,我们将讨论如何使用C#语言将Word文档转换为PDF文件,并在PDF文件中添加水印,以保护文件的安全性。 知识点1:Word文档转换为PDF文件 在开发过程中,我们经常需要将Word文档转换为PDF文件,以便于...

    双层PDF加水印

    在商业和个人环境中,为PDF文件添加水印是一种常见的做法,可以保护文档免受未经授权的复制或修改。水印通常包含版权信息、公司标志或日期,以增强文档的安全性。 双层PDF是指包含两层内容的PDF文件:一层是图像,...

Global site tag (gtag.js) - Google Analytics