导出pdf文件时加图片水印
前言:本文探讨的是利用pageEvent事件在生成PDF文件的过程中把图片水印加好,这样导出的是加好水印的pdf文件。
- 1:加入依赖
<!--导出pdf相关--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.10</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>
- 2:准备好水印图片,将图片拷贝到项目中
- 3:代码示例,利用pageEvent事件加水印
定义事件类
package itextpdf;
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfWriter;/*** @author* @description 继承PdfPageEventHelper类来定义事件* @date 2018/6/19 11:08$*/
public class WaterMark1 extends PdfPageEventHelper {@Overridepublic void onEndPage(PdfWriter writer, Document document) {//获取水印图片的路径String markImagePath = this.getClass().getClassLoader().getResource("font").getFile() + "/logo.png";float pageHeight = document.getPageSize().getHeight();float pageWidth = document.getPageSize().getWidth();try {Image img = Image.getInstance(markImagePath);//生成水印图片final float IMAGE_SIZE = 0.6f;//图片缩放比例,大小0float plainWidth = img.getPlainWidth() * IMAGE_SIZE;float plainHeight = img.getPlainHeight() * IMAGE_SIZE;img.scaleAbsolute(plainWidth, plainHeight);//设置图片大小img.setAlignment(Image.UNDERLYING); // 在字下面//设置水印图片的坐标。img.setAbsolutePosition(pageWidth - plainWidth - 35, pageHeight - plainHeight - 5);//image.setRotation(-30);//设置旋转 弧度//image.setRotationDegrees(-45);//设置旋转 角度//image.scalePercent(50);//设置依照比例缩放,与设置大小作用相同//将水印图片加入到文档中,可使用循环添加多个,添加多个时注意每个图片的坐标等属性document.add(img);} catch (Exception e) {e.printStackTrace();}}
}
添加事件,注意要加在document.open()之前
//创建documentDocument document = new Document(PageSize.A4);//设置要导出的文件名File file = new File("C:\\Users\\Administrator\\Desktop\\test.pdf");OutputStream outputStream = new FileOutputStream(file);PdfWriter writer = PdfWriter.getInstance(document, outputStream);//开始写writer.setPageEvent(new WaterMark1());//水印内容document.open();//此处省略写入文字过程...document.close()
- 4,效果展示
导出pdf文件时加图片水印相关推荐
- 关于RDLC使用导出PDF文件时,中文乱码解决方案
MicrosftReportViewer控件导出乱码,主要需要设置的是RDCL文件: 关于使用RDLC导出PDF文件时,中文出现乱码现象,本文进行了解决: 其实很简单. 本人平台情况VS2008 英文 ...
- 【PPT】PPT文档导出PDF文件时,去掉右上角时间
PPT文档需要导出为PDF文件时,右上角页眉会出现时间戳,有时候不需要时间,如何去掉时间戳呢? Win10+Office2019 当需要将多页PPT打印在一张纸上时,右上角页眉会自动出现当前时间戳20 ...
- CoreIDRAW导出PDF文件时出现部分内容不显示、空白的问题解决方法。
遇到问题: 在使用CoreIDRAW制作归档文件时,导出PDF文件后出现了部分内容不显示.空白的问题.我的设计是两页BOM表格与一页PCB丝印图.在使用"发布至PDF"导出PDF文 ...
- 如何在Visio导出pdf文件时不带边框
首先在菜单栏选择 设计 适应绘图.将图片多余的空白处去掉.如下图所示. 其次,在菜单栏选择文件-导出-pdf,这时,点击选项 取消勾选辅助功能文档结构标记,即可去掉图片边框.如下图所示.
- java pdf添加透明水印_如何使用PDF编辑工具在PDF文件中添加透明水印
PDF 文件在修改编辑的时候会使用到 PDF 编辑工具,不管是工 作中还是生活中,都会使用到 PDF 文件,当我们需要给 PDF 文件添 加透明水印时,该怎么操作呢,是不是有很多的小伙伴也很好奇, 那 ...
- 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字
咖啡汪日志--JAVA导出pdf文件加水印 文字和图片.文字 hello,又大家见面了! 作为一只不是在戏精就是在戏精路上的哈士奇,今天要展示给大家的就是如何快捷地给pdf文件增加各种水印.嗷呜呜,前 ...
- Java解析PDF文件(PDFBOX、itext解析PDF)导出PDF中的子图片,去除PDF中的水印
前段时间,为了解析PDF,花了不少时间去学习PDFbox和itext,这两个都是处理PDF的开源库,有java和C#的.作为一个刚开始学习这两个开源库的,感觉百度上的资源还是太少了.我做的是一个关于P ...
- 解决word转PDF文件时图片位置改变和字体格式改变的问题
解决word转PDF文件时图片位置改变和字体格式改变的问题 在写论文的时候,使用word编辑完文本后将其导出为PDF总是出现图片位置改变或者字体格式改变的问题,好不容易在word中编辑好的格式却不能在 ...
- 支持导出PDF文件并转换成图片格式的PDF查看控件Spire.PDFViewer
Spire.PDFViewer for .NET是一款功能强大的PDF查看控件.它是由e-iceblue公司在2012年新推出的一款产品.它允许开发者从本地文件夹(File),stream和byte ...
最新文章
- Python Excel操作模块XlsxWriter之插入图片worksheet.insert_image
- 高级性能服务器编程模型【IOCP完成端口】开发实现【二】
- 在简历中应用STAR法则
- fastdfs笔记_fastDFS 命令笔记-阿里云开发者社区
- XGBoost的参数说明
- redis 简单应用
- 设计模式 - 策略模式Strategy
- 使用SQL数据库在Python中执行CRUD操作
- MySql update inner join!MySql跨表更新 多表update sql语句?如何将select出来的部分数据update到另一个表里面?...
- 50 个高级 sql 语句
- 函数最值题目及答案_高考数学攻克压轴题:圆锥曲线取值范围和最值问题解题模型...
- 算法设计与分析期末复习题
- java jdk下载_jdk1.7下载|Java Development Kit (JDK) 下载「64位」-太平洋下载中心
- KK课表抓取教务系统
- 150行Python代码模拟太阳系行星运转(含music)
- Feature Selective Anchor-Free Module for Single-Shot Object Detection论文阅读翻译 - 2019CVPR
- [渝粤教育] 西安建筑科技大学 技术经济学 参考 资料
- 58到家数据库30条军规解读 【转】
- (二)基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解
- Cesium:加载GeoServer-WMS服务