使用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 import org.apache.commons.imaging.ImageReadException; import org.apache.commons.imaging.ImageWriteException; import org.apache....
使用itext开发包对pdf文件进行去水印操作,包括删除图片水印和文字水印。通过遍历pdf的contents对象和xobjects对象,进行对象删除,速度快,效率高
本教程将详细介绍如何使用Free Spire.Office for Java库为Word、PPT和PDF文档添加文本水印,以及如何利用Apache POI库为Excel文档实现相同功能。 1. **Free Spire.Office for Java** Free Spire.Office for Java是...
总而言之,Java结合iText库可以实现一套完整的PDF处理方案,包括电子签字、盖章、防伪二维码、水印和文件加密,为PDF的安全使用提供了强大的支持。在实际项目中,这些功能可以根据业务需求进行灵活组合和定制,以...
总结,通过结合iTextPDF和Jacob这两个库,Java开发者可以在Word文档中添加图片水印,从而实现对文档的个性化定制和保护。这种方法需要对Java、COM组件以及Word API有一定的理解,但是一旦掌握,就可以灵活地处理各种...
在Java开发中,有时我们需要处理文档模板,将动态数据填入到Word模板中,并且可能还需要将处理后的Word文档转换为PDF格式,同时在PDF上添加水印。在这个场景下,`Apache POI`和`Aspose.Words for Java`是两个常用的...
这两个库提供了强大的功能,让我们能够方便地处理PDF文档,包括添加中文文字水印。以下是对这两个库以及如何在Java中实现这一功能的详细解释。 首先,iTextPDF是Java的一个开源库,用于创建、编辑和读取PDF文档。它...
本报告将深入探讨如何使用三个流行的Java库——PDFBox、iText和OpenPDF来实现PDF文档添加水印的功能。 ### 01 使用Java库处理PDF文档 **PDFBox** 是Apache软件基金会开发的一个开源库,它提供了丰富的API接口,...
6. **加水印**:打开已创建的PDF,使用PdfStamper创建一个可写入的新PDF副本,然后在每一页上添加水印。 7. **保存并关闭**:保存带有水印的新PDF,关闭原始和新PDF文件。 在实际开发中,需要考虑错误处理、文件I/O...
在这个过程中,开发者通常会使用Java库来操作PDF文档,添加水印,然后将处理后的PDF转换为SWF(Shockwave Flash)格式,以便在网络上传播或者进行交互式展示。下面将详细介绍这个过程中的关键知识点。 首先,我们...
自己写的 spire.pdf 简单的demo ,有一些基础的使用方法,对刚接触的小伙伴会非常友善; 里面主要包含: 1.去除水印; 2.获取每页pdf的图片; 3.获取书签; 4.读取pdf将pdf转化为文字,最后由txt文件保存; 5....
itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。
PDF文档在许多业务场景中被广泛使用,为了保护版权或者增加特定标识,有时我们需要在PDF上添加水印。本文将详细介绍如何使用iText PDF库来为PDF文档添加中文水印,以及所需的jar包。 首先,iText是一个强大的Java库...
在Java编程环境下,如`PdfWaterMarkUtil.java`所示,我们可以使用开源库如iText或PDFBox来处理PDF文档并添加水印。这些库提供了API来操作PDF页面,包括插入文本、图像作为水印。在处理中文时,需要确保正确加载和...
总结起来,`word转pdf加水印demo.zip`这个压缩包提供了一个利用Aspose.Words Java库将Word文档转换为PDF并添加文字水印的示例。这个功能对于需要保护文档版权、展示定制信息或进行文档管理的场景非常有用。通过学习...
IText5 Excel转pdf ,带有添加文字水印,图片水印实例。 文件中含有依赖的jar,代码,下载后你直接可以用了,花了2天时间整理完成。 共3个方法,一个是生成pdf,第2个是加文字水印,第3个是加图片水印 public static...
Java使用Spire讲网页保存为PDF并去除Evaluation Warning水印方案,https://blog.csdn.net/kewen_123/article/details/121025630
下面将详细介绍如何使用IText库来实现这个功能,包括添加图片、创建表格以及插入文本。 首先,你需要在项目中引入IText的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
文字水印通过在图片或PDF上叠加透明度可调的文字来实现。在Java中,可以使用Java AWT或Swing库中的`Graphics2D`类来绘制文字,调整字体、大小、颜色和透明度,使其与背景融为一体。 4. **图片水印**: 图片水印则...