水印是一种十分常用的防伪手段,常用于各种文档、资料等。常见的水印,包括文字类型的水印、图片或logo类型的水印。以下Java示例,将分别使用insertTextWatermark(PdfPageBase page, String watermark)方法以及page.SetBackgroundImage(String arg0)方法来设置文本水印和图片水印。下面将演示具体的代码操作,内容供参考。
工具:Free Spire.PDF for Java (免费版)
Jar文件获取及导入:
方法1:通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Pdf.jar文件导入到java程序。
方法2:可提供maven仓库安装导入。
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); //保存文档 pdf.saveToFile("result.pdf"); } static void insertWatermark(PdfPageBase page) { Dimension2D dimension2D = new Dimension(); PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN, 14), true); 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("密件", font1, 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(); } }
图片水印添加效果:
(本文完)
转载请注明出处!
相关推荐
在生成图片水印的过程中,我们需要考虑以下几点: 1. **水印设计**:水印可以是文本(如日期、公司名称或“机密”等字样),也可以是图像。设计时需注意透明度设置,以确保不影响文档内容的可读性。 2. **定位与...
本篇文章将深入探讨如何利用Itext库在Java中实现PDF文件的分页输出以及添加水印的功能。 首先,我们需要引入Itext库。你可以通过Maven或Gradle在项目中添加依赖。对于Maven,可以在pom.xml文件中添加以下依赖: ``...
这段代码中,`addWatermark`方法接受源PDF文件路径、目标PDF文件路径和水印文本作为参数。它遍历每个页面,对每个页面添加水印,然后保存修改后的文档。 请注意,这只是一个基础示例,实际使用时可能需要根据具体...
在Java开发中,导出PDF、添加表格以及加水印是常见的需求,这些功能可以用于创建报告、发票、证书等文档。PDF(Portable Document Format)是一种广泛应用的文档格式,能够跨平台保持一致的布局和样式。下面将详细...
针对"java 加水印 支持各种格式pdf doc 图片"这个主题,我们将深入探讨如何在Java中为PDF、DOC文档以及图片添加水印。 首先,让我们来看PDF文件的水印处理。PDF文档由于其跨平台性和阅读体验,被广泛应用。在Java中...
"Java给图片加水印"这个主题,就是关于如何利用Java技术在图片上添加标识或文字,以保护版权或者增强视觉效果。下面我们将深入探讨这个话题。 首先,我们需要了解Java中的图像处理库,如Java Advanced Imaging (JAI...
PDF 文档安全性设置,画文本、图片、形状、条形码到 PDF,提取 PDF 中的文本/图片,高亮/替换 PDF 文本,合并和拆分 PDF,创建和填充表单,添加页眉页脚到 PDF,添加或删除层,重叠 PDF 页面,添加文本/图片水印,...
在PDFBox中,可以使用`PDPageContentStream`类来添加文本水印,而在iText和OpenPDF中,也有相应的API方法来实现这一功能。 ### 04 保存带有水印的PDF文档 完成水印添加后,需要将带有水印的新PDF文档保存。这一步...
总结,通过结合iTextPDF和Jacob这两个库,Java开发者可以在Word文档中添加图片水印,从而实现对文档的个性化定制和保护。这种方法需要对Java、COM组件以及Word API有一定的理解,但是一旦掌握,就可以灵活地处理各种...
PDF 文档安全性设置,画文本、图片、形状、条形码到 PDF,提取 PDF 中的文本/图片,高亮/替换 PDF 文本,合并和拆分 PDF,创建和填充表单,添加页眉页脚到 PDF,添加或删除层,重叠 PDF 页面,添加文本/图片水印,...
在Java开发中,有时我们需要处理文档模板,将动态数据填入到Word模板中,并且可能还需要将处理后的Word文档转换为PDF格式,同时在PDF上添加水印。在这个场景下,`Apache POI`和`Aspose.Words for Java`是两个常用的...
本示例涉及的是将Word文档转换为PDF格式,并在生成的PDF上添加文字水印,这通常用于版权保护或定制化展示。以下是关于这个过程的详细说明。 首先,我们需要了解`aspose-words-15.8.0-jdk16.jar`这个库。Aspose....
在这个过程中,开发者通常会使用Java库来操作PDF文档,添加水印,然后将处理后的PDF转换为SWF(Shockwave Flash)格式,以便在网络上传播或者进行交互式展示。下面将详细介绍这个过程中的关键知识点。 首先,我们...
通过学习和实践这个“pdf添加水印实例工程”,你不仅可以掌握PDF水印的添加技巧,还能提升在PDF文档处理方面的编程能力。同时,对于那些需要处理大量PDF文档的业务场景,如电子书籍、报告、合同等,这项技能将非常...
在Java编程语言中,添加水印是一项常见的任务,特别是在处理图像或者PDF文档时。这个话题主要涉及两个核心概念:图像处理和图形用户界面(GUI)。本文将深入探讨如何使用Java来实现简单的水印添加功能,这可以应用于...
在iText中,你可以使用ColumnText类在PDF的每个页面上添加透明的文本或图像水印。这可以通过设置文本样式(如颜色、透明度、旋转角度等)来实现不同效果的水印。 **PDF文件加密** PDF加密可以保护文件不被未经授权...
在这个场景下,我们将关注如何使用Aspose在Java环境中实现Word文档转换为PDF,并且去除PDF中的水印。 首先,`aspose-words-20.1-jdk17.jar`是Aspose.Words for Java的库文件,它包含了处理Word文档和进行转换的所有...
PDF文件在日常工作中被广泛应用,为了保护文档的安全性和防止未经授权的修改,经常需要对PDF进行加密、设置只读属性以及添加水印。本资源提供的6个jar包正是为实现这些功能而准备的,它们分别是itext-5.3系列的库和...
在该方法中,使用`ColumnText`类添加水印文本。 ```java class WatermarkEventListener extends PdfPageEventHelper { @Override public void onEndPage(PdfWriter writer, Document document) { ...
在Java开发中,生成PDF文档是一项常见的需求,用于制作报告、合同、发票等。Itext是一个流行的开源Java库,专门用于生成和修改PDF文档。这个工具类的创建可以帮助开发者更高效地实现PDF的生成,包括分页输出和添加...