pdf文档动态插入水印,45度角,位于文档中央,可插入中文
pdf文档动态插入水印,45度角,位于文档中央,可插入中文
pdf文档插入水印,网上有很多资料,但是很多是简单的参考例子,具体的细节,并没有考虑到
代码示意
代码片
.
/*** @param inputFile 你的PDF文件地址* @param outputFile 添加水印后生成PDF存放的地址* @param waterMarkName 你的水印* @return*/public static boolean waterMark(String inputFile,String outputFile, String waterMarkName){try {PdfReader reader = new PdfReader(inputFile);PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFile));//这里的字体设置比较关键,这个设置是支持中文的写法BaseFont base = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 使用系统字体int total = reader.getNumberOfPages() + 1;PdfContentByte under;Rectangle pageRect = null;for (int i = 1; i < total; i++) {pageRect = stamper.getReader().getPageSizeWithRotation(i);// 计算水印X,Y坐标float x = pageRect.getWidth()/2;float y = pageRect.getHeight()/2;// 获得PDF最顶层under = stamper.getOverContent(i);under.saveState();// set TransparencyPdfGState gs = new PdfGState();// 设置透明度为0.2gs.setFillOpacity(0.2f);under.setGState(gs);under.beginText();under.setFontAndSize(base, 40);under.setColorFill(BaseColor.GRAY);// 水印文字成45度角倾斜under.showTextAligned(Element.ALIGN_CENTER , waterMarkName, x,y, 55);// 添加水印文字under.endText();under.setLineWidth(1f);under.stroke();under.restoreState();}stamper.close();return true;} catch (Exception e) {e.printStackTrace();return false;}}
文件链接: 依赖jar包
pdf文档动态插入水印,45度角,位于文档中央,可插入中文相关推荐
- 可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。
在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动. #include<windows.h> #include<stdlib. ...
- Java中2.5D游戏(斜45度角)的设计与实现(1)
通常的概念中,2D也就是所谓的二维,也就是平面图形--即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面. 而所谓3D,也称之为三维.其图形内容除了 ...
- 45 度角地图-----斜45度角地图拼接
45 度角地图, 可以分为 Staggered, slid 和 Diamond 三种类型 先看看地图元素: 可以看出来是个扁的菱形.这个地图元素的大小是64X32,你可以随意决定元素长宽,在设计程序时 ...
- 45度角Tile地图通过具体位置获得地图的行列数详解
//45度角地图通过具体位置获得地图的行列数 CCPoint TileMapMove::convertto2d(float x,float y) { CCTMXTiledMap *tileMap=(C ...
- 45度角地图坐标计算 和 层级计算
//2个方块x的距离 xdis = 38 //2个方块y的距离 ydis = -19 //传入 XY 下标 获取坐标 45度角地图 getPositonByXY(_x :number, _y : ...
- Cocos Creator 3.2 中实现2D地图3D人物45度角RPG游戏效果笔记(摄像机设置方案)
2D地图摄像机 创建一个平面几何体(plane.mesh),设置地图纹理材质 创建一个正交摄像机,视口朝向地图俯视 设置地图Layer类型为map,设置摄像机Visibility为只可见map 编辑器 ...
- 45度角地图--地图绘制
用的瓷砖是这个样子的,存放于Tile页面(tileWidth*tileHeight)中,定义常量 tileWidth=64;tileHeight=32; 绘制在画布上,定义常量 canvasWi ...
- 45度角地图坐标计算
已知图片上的一个触摸点,怎么求其落在地图的哪个瓦块上? 已知: 瓦块尺寸64*32pt, 瓦块数20*20, 地图尺寸1280*640pt如图, 图片的原点是o1 地图原点是o2 向量: o1p, o ...
- Cocos2d-JS tiledMap 45度角地图坐标计算
直接进入主题,公式如下 this.cellXCount = tmxMap.getMapSize().width; this.cellYCount = tmxMap.getMapSize().heigh ...
- 最简单45度角游戏地图铺设
原理我认为讲的最好的还是 http://blog.csdn.net/ityuany/archive/2009/08/25/4481631.aspx 代码: for (int i = 0; i < ...
最新文章
- 【Spring】spring5新特性
- 计算机组成原理——概述2
- AngularJS:在Windows上安装Yeoman
- 洛谷 P4245 【模板】任意模数NTT
- yield的用法详解
- Django模版(二)
- java模仿qq好友面板的布局(BoxLayout问题)
- C# BackgroudWorker
- Unity脚本运行时更新带来了什么?
- java第七章jdbc课后简答题_Java进阶之JDBC面试题(7)
- shell第四次练习
- 使用js正则匹配和替换淘口令边界
- 英语流利说19秋招笔试总结
- 使用 Android Studio 内置的模拟器体验原生安卓
- 华为AR系列路由器密码重置
- excel如何输入公式的技巧
- 如何实现大屏数字滚动效果
- Docker 搭建FastDFS文件系统
- 网络舆情相关书籍推荐
- 扒取blob:https:// 格式的视频
热门文章
- 管理后台登入万能密码合集
- 免费ftp空间的文件传输
- java 视频比特率_java – 为MediaCodec设置的有效比特率是多少
- 从零开始学习ThingJS之创建/销毁物体
- 私域流量和公域流量的区别
- nmn与线粒体的作用,nmn线粒体对细胞作用及影响,值得关注
- 打印插件Lodop响应慢、卡顿问题分析与解决方案以及常见问题
- cesium 贴地+空间+面积测量
- python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
- 微信小程序 引用 weui 问题合集