.net生成荣誉证书

参考: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:WindowsFontssimhei.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();

原文地址:https://www.cnblogs.com/llhhll/p/12050267.html