zoukankan      html  css  js  c++  java
  • PDF 根据模板生成PDF

      /// <summary>
            /// 根据模板生成PDF
            /// </summary>
            /// <param name="templetPdf">PDF模板</param>
            /// <param name="newPdf">新生成的PDF</param>
            /// <param name="dict">字典</param>
            public static void CreatePdfByTemplet(string templetPdf, string newPdf,
                Dictionary<string, object> dict)
            {
                iTextSharp.text.pdf.PdfReader pdfReader = new iTextSharp.text.pdf.PdfReader(templetPdf);
                FileStream fs = new FileStream(newPdf, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                PdfStamper pdfStamper = new PdfStamper(pdfReader, fs);
                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);
    
    
                pdfFormFields.AddSubstitutionFont(simheiBase);
                foreach (var item in dict.Keys)
                {
                    var value = dict[item];
                    if (value != null)
                    {
                        pdfStamper.AcroFields.SetField(item, value.ToString());
    
                    }
                }
                pdfStamper.Close();
                pdfReader.Close();
    
    
            }

     <package id="iTextSharp" version="5.0.5" targetFramework="net472" /> 高版本的会报错 写法不一样

  • 相关阅读:
    sed命令使用与正则表达式元字符
    centos6和centos7的网卡配置
    制作启动光盘centos6
    搭建一个私有CA
    yum命令
    while语法命令
    linux的进程与计划任务命令总结
    磁盘管理命令应用
    脚本命令与笔记
    重定向命令的使用
  • 原文地址:https://www.cnblogs.com/tangchun/p/14631217.html
Copyright © 2011-2022 走看看