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度角,位于文档中央,可插入中文相关推荐

  1. 可视化:在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动。

    在窗口中显示一个球,该球以与水平成45度夹角作直线运动,当遇到边界时,反弹回来,仍与水平成45度角继续运动. #include<windows.h> #include<stdlib. ...

  2. Java中2.5D游戏(斜45度角)的设计与实现(1)

    通常的概念中,2D也就是所谓的二维,也就是平面图形--即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面. 而所谓3D,也称之为三维.其图形内容除了 ...

  3. 45 度角地图-----斜45度角地图拼接

    45 度角地图, 可以分为 Staggered, slid 和 Diamond 三种类型 先看看地图元素: 可以看出来是个扁的菱形.这个地图元素的大小是64X32,你可以随意决定元素长宽,在设计程序时 ...

  4. 45度角Tile地图通过具体位置获得地图的行列数详解

    //45度角地图通过具体位置获得地图的行列数 CCPoint TileMapMove::convertto2d(float x,float y) { CCTMXTiledMap *tileMap=(C ...

  5. 45度角地图坐标计算 和 层级计算

    //2个方块x的距离 xdis = 38 //2个方块y的距离 ydis = -19 //传入 XY 下标 获取坐标   45度角地图 getPositonByXY(_x :number, _y :  ...

  6. Cocos Creator 3.2 中实现2D地图3D人物45度角RPG游戏效果笔记(摄像机设置方案)

    2D地图摄像机 创建一个平面几何体(plane.mesh),设置地图纹理材质 创建一个正交摄像机,视口朝向地图俯视 设置地图Layer类型为map,设置摄像机Visibility为只可见map 编辑器 ...

  7. 45度角地图--地图绘制

    用的瓷砖是这个样子的,存放于Tile页面(tileWidth*tileHeight)中,定义常量  tileWidth=64;tileHeight=32;  绘制在画布上,定义常量  canvasWi ...

  8. 45度角地图坐标计算

    已知图片上的一个触摸点,怎么求其落在地图的哪个瓦块上? 已知: 瓦块尺寸64*32pt, 瓦块数20*20, 地图尺寸1280*640pt如图, 图片的原点是o1 地图原点是o2 向量: o1p, o ...

  9. Cocos2d-JS tiledMap 45度角地图坐标计算

    直接进入主题,公式如下 this.cellXCount = tmxMap.getMapSize().width; this.cellYCount = tmxMap.getMapSize().heigh ...

  10. 最简单45度角游戏地图铺设

    原理我认为讲的最好的还是 http://blog.csdn.net/ityuany/archive/2009/08/25/4481631.aspx 代码: for (int i = 0; i < ...

最新文章

  1. 【Spring】spring5新特性
  2. 计算机组成原理——概述2
  3. AngularJS:在Windows上安装Yeoman
  4. 洛谷 P4245 【模板】任意模数NTT
  5. yield的用法详解
  6. Django模版(二)
  7. java模仿qq好友面板的布局(BoxLayout问题)
  8. C# BackgroudWorker
  9. Unity脚本运行时更新带来了什么?
  10. java第七章jdbc课后简答题_Java进阶之JDBC面试题(7)
  11. shell第四次练习
  12. 使用js正则匹配和替换淘口令边界
  13. 英语流利说19秋招笔试总结
  14. 使用 Android Studio 内置的模拟器体验原生安卓
  15. 华为AR系列路由器密码重置
  16. excel如何输入公式的技巧
  17. 如何实现大屏数字滚动效果
  18. Docker 搭建FastDFS文件系统
  19. 网络舆情相关书籍推荐
  20. 扒取blob:https:// 格式的视频

热门文章

  1. 管理后台登入万能密码合集
  2. 免费ftp空间的文件传输
  3. java 视频比特率_java – 为MediaCodec设置的有效比特率是多少
  4. 从零开始学习ThingJS之创建/销毁物体
  5. 私域流量和公域流量的区别
  6. nmn与线粒体的作用,nmn线粒体对细胞作用及影响,值得关注
  7. 打印插件Lodop响应慢、卡顿问题分析与解决方案以及常见问题
  8. cesium 贴地+空间+面积测量
  9. python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
  10. 微信小程序 引用 weui 问题合集