参考:https://blog.csdn.net/ljk126wy/article/details/84299373

采用生成pdf 方式  效果如下:

用adobe acrobat 制作一个模板  创建相关的动态表单 定义变量

用iTextSharp pdf 模板生成

部分代码如下:

iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader("模板pdf路径");
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(”生成的pdf路径“, FileMode.OpenOrCreate));
AcroFields pdfFormFields = pdfStamper.AcroFields;
pdfStamper.FormFlattening = true;

//BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
//BaseFont simheiBase = BaseFont.CreateFont(@"C:\Windows\Fonts\simhei.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
BaseFont simheiBase = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
pdfFormFields.AddSubstitutionFont(simheiBase);

#region 添加图片印章

//1.读取图片
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(”图章路径“);

Document document = new Document();
// 通过域名获取所在页和坐标,左下角为起点

//模板1 坐标
//float x = document.PageSize.Width - 295;
//float y = document.PageSize.Height - 480; 70

//lsx模板
float x = document.PageSize.Width - 160;
// float y = document.PageSize.Height - 480; 50

// 获取操作的页面
PdfContentByte under = pdfStamper.GetOverContent(1);
// 根据域的大小缩放图片
image.ScaleToFit(100, 60);
// image.ScaleToFit(document.PageSize.Width - 350, document.PageSize.Width - 400);

// 添加图片
image.SetAbsolutePosition(x, 50);

under.AddImage(image);

//float percentage = 1;
////这里都是图片最原始的宽度与高度
//float resizedWidht = image.Width;
//float resizedHeight = image.Height;
//////这里用计算出来的百分比来缩小图片
//image.ScalePercent(percentage * 100);
////让图片的中心点与页面的中心店进行重合
//// image.SetAbsolutePosition(doc.PageSize.Width / 2 - resizedWidht / 2, doc.PageSize.Height / 2 - resizedHeight / 2);
//pdfStamper.Writer.Add(image);

#endregion

//pdfStamper.AcroFields.SetField("Name", "李朝强同学:");
//pdfStamper.AcroFields.SetField("Content", "恭喜您在全国中小学电脑制作活动中,荣获三等奖");
//pdfStamper.AcroFields.SetField("Company", "某某单位");
//pdfStamper.AcroFields.SetField("Time", "二零一九年十二月十五日");
//pdfStamper.AcroFields.SetField("Number", "证书编号:A00015800016737000000580001");

pdfStamper.Close();
pdfReader.Close();

 
 
 
 
 
 

.net生成荣誉证书的更多相关文章

  1. openssl生成ssl证书

    openssl生成ssl证书 x509证书一般会用到三类文,key,csr,crt. Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时 ...

  2. Openssl生成根证书、服务器证书并签核证书

    1.修改Openssl配置文件CA目录: cat /etc/pki/tls/openssl.cnf dir = /etc/pki/CA 2.生成根证书及私钥: #http://www.haiyun.m ...

  3. 生成apache证书(https应用)

    # cd /usr/local/apache2/conf# tar zxvf ssl.ca-0.1.tar.gz# cd ssl.ca-0.1生成根证书:# ./new-root-ca.sh      ...

  4. iOS push全方位解析(二)【译文】"——生成OpenSSL证书,Provisioning Profile

    这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的 ...

  5. 生成ssl证书文件

    网上关于生成SSL证书文件的方法有很多,但我查了几个,发现有或多或少的错误,如下我图文并茂的展示,亲测无任何问题,分享给大家,谢谢. 1.创建根证书密钥文件(自己做CA)root.key openss ...

  6. MAC环境下生成Apple证书教程

    在MAC操作系统下,生成Apple证书比较简单,全图形化操作. 一.使用Keychain Access(钥匙串访问) MAC操作系统对证书的处理都采用了“Keychain Access”(中文系统名为 ...

  7. 用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)--生成SSL证书请求

    在上个章节中,我们提到了怎样安装XCA(X Certificate and key management)程序.这个章节我们開始正式介绍怎样用XCA生成证书请求.假设大家用过java的话.肯定知道jd ...

  8. nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)

    前些天搭好了cas系统,这几天一致再搞nginx和cas的反向代理,一直不成功,但是走http还是测试通过的,最终确定是ssl认证证书这一块的问题,原本我在cas服务端里的tomcat已经配置了证书, ...

  9. 全部用startssl生成的证书,配置Apache使其支持SSL

    Apache的编译安装见这篇: http://www.cnblogs.com/yjken/p/3921840.html 网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就 ...

随机推荐

  1. grep简介

    grep -ril "xxxxx" .   :查看当前目录下所有文件是否包含指定字符,只输出符合条件的文件名 -r :递归查找 -i:忽略大小写 -l :只输出文件名

  2. P1006 输出第二个整数

    题目描述 输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数.把第二个输入的整数输出. 输入格式 输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数. 输出格式 输出输入的三个整数 ...

  3. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  4. TOJ5705动态序列操作(STL or treap)

    传送门:动态序列操作 在一个动态变化的序列中,完成以下基本操作: (1)插入一个整数 (2)删除一个整数 (3)查找序列中最大的数 (4)查找序列中最小的数 (5)求x的前驱(前驱定义为不大于x的序列 ...

  5. 开篇 | 揭秘 Flink 1.9 新架构,Blink Planner 你会用了吗?

    本文为 Apache Flink 新版本重大功能特性解读之 Flink SQL 系列文章的开篇,Flink SQL 系列文章由其核心贡献者们分享,涵盖基础知识.实践.调优.内部实现等各个方面,带你由浅 ...

  6. 利用Aspose.cells 将查询出的数据导出为excel,并在浏览器中下载。

    正题前的唠叨 本人是才出来工作不久的小白菜一颗,技术很一般,总是会有遇到一些很简单的问题却不知道怎么做,这些问题可能是之前解决过的.发现这个问题,想着提升一下自己的技术水平,将一些学的新的‘好’东西记 ...

  7. WebGPU学习(十):介绍“GPU实现粒子效果”

    大家好,本文介绍了"GPU实现粒子效果"的基本思想,并推荐了相应的学习资料. 本文学习webgpu-samplers->computeBoids示例,它展示了如何用compu ...

  8. python常见关键字的使用

    常见关键字 在循环中常见的关键字使用方法 continue:结束本次循环,继续执行下一次循环 break:跳出一个循环或者结束一个循环 例 使用用户名密码登录(有三次机会)count=0while c ...

  9. Java动态代理 ----- jdk代理与cglib代理

    1.jdk代理 针对接口进行代理,接口可以没有方法, InvocationHandler会拦截所有方法,不过好像意义不大....只能执行Object类的方法,执行结果有点奇怪... package t ...

  10. 中小型企业级 IPS 部署

    <构建基于Snort+Guardian+Iptables的IPS> 2020年的第三天,依旧如往常写文章,分享最近做的项目继<中小型企业级防火墙部署>之后的另一部分<构建 ...