• .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();

  • 相关阅读:
    display:inlineblock之用法
    MongoDB 分页
    MongoDB常用方法
    js获取上、下级html元素 js删除html元素方法
    设计模式(1)策略模式
    深入理解java虚拟机(1)
    dpvs 新建连接 转载
    当年使用dpdk做的业务
    内核full nat 简析
    DPDK性能优化技术 转载
  • 原文地址:https://www.cnblogs.com/llhhll/p/12050267.html
Copyright © 2020-2023  润新知