`
huangjinping
  • 浏览: 49622 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

使用java实现对PDF增加文字水印功能

    博客分类:
  • Java
阅读更多

使用iText处理PDF文件非常强大,本章节描述如何实现对现有PDF文件增加文字水印功能。

 

第一步:创建一个新工程,引入附件中的所有jar包。

            iText-2.0.8.jar

            iTextAsian.jar

            iTextAsianCmaps.jar

 

第二步:代码实现。

/**
 * This file created at 2012-6-14.
 *
 * Copyright (c) 2002-2012, Inc. All rights reserved.
 */
package com.bingosoft.test;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;


import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

/**
 * <code>{@link Test}</code>
 *
 * TODO : document me
 *
 * @author huangjinping
 */
public class Test {
	      
	public static void main(String[] args) throws DocumentException,
			IOException {
		// 待加水印的文件
		PdfReader reader = new PdfReader(
				"file:/F:/pdfTest/WebContent/IKAnalyzer.pdf");
		// 加完水印的文件
		PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
				"F:/pdfTest/WebContent/IKAnalyzer_water.pdf"));
		
		int total = reader.getNumberOfPages() + 1;

		PdfContentByte content;
		// 设置字体
		BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
				BaseFont.EMBEDDED);
		// 水印文字
		String waterText = "水印文字!";
		int j = waterText.length(); // 文字长度
		char c = 0;
		int high = 0;// 高度
		// 循环对每页插入水印
		for (int i = 1; i < total; i++) {
			// 水印的起始
			high = 500;
			content = stamper.getUnderContent(i);
			// 开始
			content.beginText();
			// 设置颜色
			content.setColorFill(Color.GRAY);
			// 设置字体及字号
			content.setFontAndSize(base, 18);
			// 设置起始位置
			content.setTextMatrix(400, 780);
			// 开始写入水印
			for (int k = 0; k < j; k++) {
				content.setTextRise(14);
				c = waterText.charAt(k);
				// 将char转成字符串
				content.showText(c + "");
				high -= 5;
			}
			content.endText();

		}
		stamper.close();
	}
}

 

 

分享到:
评论

相关推荐

    JAVA实现给图片增加图片水印或者文字水印-依赖包

    以下是一个简单的示例代码片段,展示如何在Java中添加文字水印: ```java import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache....

    去除pdf的图片水印和文字水印

    使用itext开发包对pdf文件进行去水印操作,包括删除图片水印和文字水印。通过遍历pdf的contents对象和xobjects对象,进行对象删除,速度快,效率高

    java为多种文档(word ppt pdf excel)添加文本水印

    本教程将详细介绍如何使用Free Spire.Office for Java库为Word、PPT和PDF文档添加文本水印,以及如何利用Apache POI库为Excel文档实现相同功能。 1. **Free Spire.Office for Java** Free Spire.Office for Java是...

    java实现pdf文件的电子签字+盖章+防伪二维码+水印+PDF文件加密

    总而言之,Java结合iText库可以实现一套完整的PDF处理方案,包括电子签字、盖章、防伪二维码、水印和文件加密,为PDF的安全使用提供了强大的支持。在实际项目中,这些功能可以根据业务需求进行灵活组合和定制,以...

    Java 实现word文件增加图片水印 jacob实现 用到的jar

    总结,通过结合iTextPDF和Jacob这两个库,Java开发者可以在Word文档中添加图片水印,从而实现对文档的个性化定制和保护。这种方法需要对Java、COM组件以及Word API有一定的理解,但是一旦掌握,就可以灵活地处理各种...

    Java 使用 poi 和 aspose 实现 word 模板数据写入并转换 pdf 增加水印

    在Java开发中,有时我们需要处理文档模板,将动态数据填入到Word模板中,并且可能还需要将处理后的Word文档转换为PDF格式,同时在PDF上添加水印。在这个场景下,`Apache POI`和`Aspose.Words for Java`是两个常用的...

    java使用itextpdf、itext-asian对pdf文件加水印

    这两个库提供了强大的功能,让我们能够方便地处理PDF文档,包括添加中文文字水印。以下是对这两个库以及如何在Java中实现这一功能的详细解释。 首先,iTextPDF是Java的一个开源库,用于创建、编辑和读取PDF文档。它...

    Java实现PDF文档添加水印信息.pptx.pptx

    本报告将深入探讨如何使用三个流行的Java库——PDFBox、iText和OpenPDF来实现PDF文档添加水印的功能。 ### 01 使用Java库处理PDF文档 **PDFBox** 是Apache软件基金会开发的一个开源库,它提供了丰富的API接口,...

    使用itextpdf将excel转化为pdf + pdf加水印

    6. **加水印**:打开已创建的PDF,使用PdfStamper创建一个可写入的新PDF副本,然后在每一页上添加水印。 7. **保存并关闭**:保存带有水印的新PDF,关闭原始和新PDF文件。 在实际开发中,需要考虑错误处理、文件I/O...

    java pdf加水印后生成swf

    在这个过程中,开发者通常会使用Java库来操作PDF文档,添加水印,然后将处理后的PDF转换为SWF(Shockwave Flash)格式,以便在网络上传播或者进行交互式展示。下面将详细介绍这个过程中的关键知识点。 首先,我们...

    java spire.pdf 使用 对 pdf文件的相关操作

    自己写的 spire.pdf 简单的demo ,有一些基础的使用方法,对刚接触的小伙伴会非常友善; 里面主要包含: 1.去除水印; 2.获取每页pdf的图片; 3.获取书签; 4.读取pdf将pdf转化为文字,最后由txt文件保存; 5....

    itext5生成PDF(含水印文字及图片)

    itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。

    itext-pdf添加水印的jar包,支持中文水印

    PDF文档在许多业务场景中被广泛使用,为了保护版权或者增加特定标识,有时我们需要在PDF上添加水印。本文将详细介绍如何使用iText PDF库来为PDF文档添加中文水印,以及所需的jar包。 首先,iText是一个强大的Java库...

    pdf 添加水印 支持中文和字体扩展 支持相对位置

    在Java编程环境下,如`PdfWaterMarkUtil.java`所示,我们可以使用开源库如iText或PDFBox来处理PDF文档并添加水印。这些库提供了API来操作PDF页面,包括插入文本、图像作为水印。在处理中文时,需要确保正确加载和...

    word转pdf加水印demo.zip

    总结起来,`word转pdf加水印demo.zip`这个压缩包提供了一个利用Aspose.Words Java库将Word文档转换为PDF并添加文字水印的示例。这个功能对于需要保护文档版权、展示定制信息或进行文档管理的场景非常有用。通过学习...

    IText5 Excel转pdf ,带有添加文字水印,图片水印实例

    IText5 Excel转pdf ,带有添加文字水印,图片水印实例。 文件中含有依赖的jar,代码,下载后你直接可以用了,花了2天时间整理完成。 共3个方法,一个是生成pdf,第2个是加文字水印,第3个是加图片水印 public static...

    Java使用Spire讲网页保存为PDF并去除Evaluation Warning水印方案

    Java使用Spire讲网页保存为PDF并去除Evaluation Warning水印方案,https://blog.csdn.net/kewen_123/article/details/121025630

    java使用IText导出PDF(包含图片、表格、文字等等Demo和依赖包)

    下面将详细介绍如何使用IText库来实现这个功能,包括添加图片、创建表格以及插入文本。 首先,你需要在项目中引入IText的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    图片和PDF水印代码(文字和图片)

    文字水印通过在图片或PDF上叠加透明度可调的文字来实现。在Java中,可以使用Java AWT或Swing库中的`Graphics2D`类来绘制文字,调整字体、大小、颜色和透明度,使其与背景融为一体。 4. **图片水印**: 图片水印则...

Global site tag (gtag.js) - Google Analytics