参考: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. windows环境下pgsql的安装与使用

  2. RabbitMQ-Exchange交换器

    交换器分类 RabbitMQ的Exchange(交换器)分为四类: direct(默认) headers fanout topic 其中headers交换器允许你匹配AMQP消息的header而非路由 ...

  3. 2018.11.30 浪在ACM 集训队第七次测试赛

    https://blog.csdn.net/StilllFantasy/article/details/84670643 感谢刘凯同学 https://blog.csdn.net/UnKfrozen/ ...

  4. Linux 内核

    在接口总线领域的最新的一项是外部总线的整个类. 这包括 USB, 固件, 和 IEEE1284(基 于并口的外部总线). 这些接口有些类似于老的非外部的技术, 例如 PCMCIA/CardBus 和 ...

  5. dotnet 删除只读文件

    如果直接通过 File.Delete 删除只读文件会出现没有权限提示,可以先设置文件不是只读然后删除文件 try { File.Delete(file); } catch (UnauthorizedA ...

  6. CS224n: Natural Language Processing学习准备

    cs224n 斯坦福网址,里面包含讲课视频,ppt,代码,学习完后做一个问答系统 http://web.stanford.edu/class/cs224n/index.html 下载anaconda, ...

  7. 38.CSS

    转载:https://www.cnblogs.com/yuanchenqi/articles/5977825.html css概述 CSS是Cascading Style Sheets的简称,中文称为 ...

  8. 第二阶段:4.商业需求文档MRD:6.PRD-其他需求

  9. ant design 的Table组件固定表头时不对齐

    现在有一个表格,里面的列数是不固定的(可以重复写入数据),且列数行数都可能很多,就带来一个问题: 必须要固定表头,但是antd 的表格组件设置了固定表格 scroll={{x:1000,y:300}} ...

  10. 机器学习——Bagging与随机森林算法及其变种

    Bagging算法:  凡解:给定M个数据集,有放回的随机抽取M个数据,假设如此抽取3组,3组数据一定是有重复的,所以先去重.去重后得到3组数据,每组数据量分别是s1,s2,s3,然后三组分别训练组合 ...