Spire pdf 操作pdf,页眉 页脚 水印 二维码
1.创建页眉页脚
SizeF pageSize = pdf.Pages[0].Size == null ? PdfPageSize.A4 : pdf.Pages[0].Size;//画笔PdfPen pen = new PdfPen(pdf.StyleConfig.PenColor, pdf.StyleConfig.PenWidth);//文字样式和位置 字体和对齐方式PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(pdf.StyleConfig.HeaderFont, pdf.StyleConfig.HeaderEmSize));for (int i = 0; i < pdf.Pages.Count; i++){//偏移变量float x = pdf.PdfMargins.Left;float y = 0;//图片sizefloat width = 0;float height = 0;//绘制图片if (!string.IsNullOrEmpty(imageUrl)){PdfImage headerImage = PdfImage.FromFile(imageUrl);width = headerImage.Width / 4;height = headerImage.Height / 4;y = pdf.PdfMargins.Top;pdf.Pages[i].Canvas.DrawImage(headerImage, x, y, width, height);}//绘制线段float x1 = pdf.PdfMargins.Left + width + 30;float x2 = pageSize.Width - pdf.PdfMargins.Right;float y1 = pdf.PdfMargins.Top + height;pdf.Pages[i].Canvas.DrawLine(pen, x1, y1, x2, y1);if (!string.IsNullOrEmpty(text)){// 绘入文字SizeF size = font.MeasureString(text);x = pageSize.Width - pdf.PdfMargins.Right - size.Width;y = height - size.Height + (pdf.PdfMargins.Top / 3 * 2);pdf.Pages[i].Canvas.DrawString(text, font, PdfBrushes.Black, x, y);}}}
2.创建页脚
if (!string.IsNullOrEmpty(footerText)){//获取页面大小SizeF pageSize = pdf.Pages[0].Size == null ? PdfPageSize.A4 : pdf.Pages[0].Size;//偏移量float x = 0;float y = 0;//画笔PdfPen pen = new PdfPen(pdf.StyleConfig.PenColor, pdf.StyleConfig.PenWidth);//文字样式和位置PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(pdf.StyleConfig.FooterFont, pdf.StyleConfig.FooterEmSize), true);for (int i = 0; i < pdf.Pages.Count; i++){//绘制文字SizeF size = font.MeasureString(footerText);x = (pageSize.Width - size.Width) / 2;y = pageSize.Height - pdf.PdfMargins.Bottom - size.Height - 2;pdf.Pages[i].Canvas.DrawString(footerText, font, PdfBrushes.Black, x, y);}}
3.创建水印
if (!string.IsNullOrEmpty(text)){//创建True Type字体PdfTrueTypeFont font = new PdfTrueTypeFont(new Font(Pdf.StyleConfig.WaterMarkFont, Pdf.StyleConfig.WaterMarkEmSize), true);//测量文字所占的位置大小SizeF size = font.MeasureString(text);//计算偏移量float x = (float)(size.Width * System.Math.Sqrt(2) / 4);float y = (float)(size.Height * System.Math.Sqrt(2) / 4);//遍历文档页foreach (PdfPageBase page in Pdf.Pages){//设置透明度page.Canvas.SetTransparency(Pdf.StyleConfig.Transparency);//将坐标系向右,向下平移page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - x - y, page.Canvas.Size.Height / 2 + x - y);//将坐标系逆时针旋转45度page.Canvas.RotateTransform(Pdf.StyleConfig.Angle);//绘制文本page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0);}}
4.二维码
if (!string.IsNullOrEmpty(data)){SizeF pageSize = pdf.Pages[0].Size == null ? PdfPageSize.A4 : pdf.Pages[0].Size;//创建BarcodeSettings对象BarcodeSettings.ApplyKey("keyNumber");BarcodeSettings settings = new BarcodeSettings();//设置条码类型为二维码settings.Type = BarCodeType.QRCode;//设置二维码数据settings.Data = data;settings.ShowText = false;//设置数据类型settings.QRCodeDataMode = QRCodeDataMode.Auto;//设置宽度settings.X = 0.7f;BarCodeGenerator generator = new BarCodeGenerator(settings);Image image = generator.GenerateImage();//绘制二维码图形到PDFPdfImage pdfImage = PdfImage.FromImage(image);float x = pageSize.Width - pdf.PdfMargins.Right - pdfImage.PhysicalDimension.Width;float y = 5;if (!string.IsNullOrEmpty(imageUrl)){PdfImage headerImage = PdfImage.FromFile(imageUrl);y += headerImage.Height / 4;}y += pdf.PdfMargins.Top;pdf.Pages[0].Canvas.DrawImage(pdfImage, x, y);}
转载于:https://www.cnblogs.com/xxh-2014/p/11208951.html
Spire pdf 操作pdf,页眉 页脚 水印 二维码相关推荐
- ADB用命令来操作手机相册中的照片识别二维码
- java给word和pdf文档添加二维码
背景 目前收到一个需求,需要给上传的word和pdf文档添加二维码,防止职工给领导签字时伪造合同,所以提出这个需求,上传的word和pdf添加二维码,然后使用我们的app扫码查看相关的信息. 解决方案 ...
- Excel竟然可以批量解锁二维码内容的操作
今天小编要分享的操作是,Excel可以批量解锁二维码内容的操作,如下图所示,某销售公司为了保密销量信息呢,将其中的销量信息生成二维码,希望能通过扫码来获得对应的销量.那现在呢,为了统一做汇报工作,需要 ...
- C# 添加PDF页眉/页脚
这篇文章主要介绍了C# 添加PDF页眉/页脚的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可 ...
- Java 处理PDF文档(一):页眉页脚、水印、背景、附件
前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...
- PDF页眉页脚怎么设置
页眉和页脚:通常显示文档的附加信息,常用来插入时间.日期.页码.单位名称.微标等.其中,页眉在页面的顶部,页脚在页面的底部.相信在Word里面添加页眉页脚大家都知道该怎么做的,那么现在我们经常使用的另 ...
- pdf页眉页脚设置步骤
当我们在使用一份pdf文件的时候,想要给pdf文件添加上页眉与页脚我们应该怎么去操作呢?如果小伙伴们想要知道答案的话,继续往下面阅读就可以知道答案了哦. 操作软件:迅捷PDF编辑器(PDF编辑器下载) ...
- PDF页眉页脚删除用什么方法
PDF页眉页脚删除用什么方法.相信每一个小伙伴都在网络上下载过PDF文件,当我们打开PDF文件后,发现文件里有着我们不需要的页眉与页脚,我们应该如何将其删除掉呢?如果屏幕前的你不清楚的话,那就和小编一 ...
- 如何给PDF文件添加页眉页脚,一分钟轻松搞定
如何给PDF文件添加页眉页脚?很多在使用PDF文件的人都会有这样的问题,不知道如何给PDF文件添加页眉页脚,想要给PDF文件添加页眉页脚需要使用到PDF编辑器,下面就使用迅捷PDF编辑器为大家操作一下 ...
最新文章
- Microbiome: 再论扩增子功能预测分析(Picrust)的效果
- EasyUI--datebox设置默认时间
- python 输出“Hello, world”
- python3编码命名规范_Python代码规范和命名规范
- pytorch | transpose、permute、view、contiguous、is_contiguous、reshape
- 手写自己的MyBatis框架-1.0 的不足
- python新式类和经典类的区别?
- linux和windows下忘记mysql密码的几种找回方法
- 什么是陀螺仪的dr算法_PID控制器调参工具——DR-PID Tuning(Matlab GUI)
- 使用emacs作为mysql的客户端
- 【01 赖世雄英语语法:单句的语法(句子的构成)】
- 计算机表格 求差,Excel表格中求差函数公式怎么用
- 【Java】【MySnake】仿贪吃蛇小游戏开源代码(持续更新)
- python实现超级玛丽小游戏(动图演示+源码分享)
- 支付 VS 清算 VS 结算
- S3DIS数据集学习笔记
- VS软件评估期已过不能使用的解决方法
- 【转】ATF中SMC深入理解
- Optisystem7.0安装教程(Win10系统)
- 浙江省省市县边界经纬坐标数据
热门文章
- 深圳求职指南(2004版)
- android水电工具softonic,Softonic
- python考试名词解释_程序设计(python)_章节测验,期末考试,慕课答案查询公众号...
- 项目开发过程中遇到的问题和解决方法
- ad10捕捉pad中点_【中考专题】中点模型(通关篇)—三种方法,助你通关!
- 58同城智能推荐系统的演进与实践(转)
- c语言——数字特征值题
- 网线 绿灯长亮 黄灯不亮
- 【SpringCloud-学习笔记】Docker基本操作
- 燕十八 Mysql 笔记 68 课