private void First(Document doc, PdfWriter writer) { string tmp = "创利投金服平台合同"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); //tmp = "(正文 页,附件 0 页)"; tmp = "(时间: " + DateTime.Now.ToString("yyyy-MM-dd") + ")"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); //模版 显示总共页数 HeaderAndFooterEvent.tpl = writer.DirectContent.CreateTemplate(100, 100); //模版的宽度和高度 PdfContentByte cb = writer.DirectContent; cb.AddTemplate(HeaderAndFooterEvent.tpl, 266, 914);//调节模版显示的位置 }
private static void First(string title, string time, Document doc, PdfWriter writer) { string tmp = title; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); //tmp = "(正文 页,附件 0 页)"; tmp = "(时间: " + time + ")"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); //模版 显示总共页数 HeaderAndFooterEvent.tpl = writer.DirectContent.CreateTemplate(100, 100); //模版的宽度和高度 PdfContentByte cb = writer.DirectContent; cb.AddTemplate(HeaderAndFooterEvent.tpl, 266, 914);//调节模版显示的位置 }
/// <summary> /// 创建PDF文件 /// </summary> /// <param name="fileNames">文件名</param> /// <param name="strName">名称</param> /// <returns></returns> private string CreatePdf(string[] fileNames, string strName) { iTextSharp.text.Document doc = new iTextSharp.text.Document(); string SaveName = String.Format(clsPublic.AppDir + "\\pdftemp\\{0}", strName + DateTime.Now.ToString("yyyyMMhhHHmmss") + ".pdf"); clsPublic.CheckFolderExistsViaFileName(SaveName); PdfWriter pdfWriter = PdfWriter.GetInstance(doc, new FileStream(SaveName, FileMode.Create)); pdfWriter.SetEncryption(PdfWriter.STRENGTH128BITS, null, null, PdfWriter.AllowCopy); doc.Open(); try { pdfWriter.PageEvent = new HeaderAndFooterEvent(); #region 实现页眉和页脚: HeaderAndFooterEvent.PAGE_NUMBER = true; //实现页眉跟页脚 HeaderAndFooterEvent.tpl = pdfWriter.DirectContent.CreateTemplate(500, 500); //定义模板 HeaderAndFooterEvent.HeaderLeft = "株洲紫气东来商贸有限公司"; HeaderAndFooterEvent.HeaderRight = "IT部存档专用"; HeaderAndFooterEvent.FooterLeft = "TEL:0731-22965756"; HeaderAndFooterEvent.FooterRight = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "(UTC)"; #endregion #region 首页 //每次在添加文本内容之前可以先设置字体,有效期持续到重新设置之前 //HeaderAndFooterEvent.SetFont(Color.BLACK, "宋体", 25, 0); //添加一个空段落来占位,五个参数分别为:内容,对齐方式(1为居中,0为居左,2为居右),段后空行数,段前空行数,行间距 //doc.Add(new Paragraph("jhgjh")); //这个方法为上一个方法的重载,三个参数分别为:内容,对齐方式,行间距 //doc.Add(new Paragraph("飞行气象文件")); // HeaderAndFooterEvent.SetFont(Color.BLACK, "宋体", 18, 0); // doc.Add(HeaderAndFooterEvent.AddParagraph(strName, 1, 1.0f)); #endregion #region 新建页和加入内容 //HeaderAndFooterEvent.SetFont(Color.DARK_GRAY, "宋体", 15, 0); //doc.Add(HeaderAndFooterEvent.AddParagraph("飞行气象文件", 1, 1.5f)); // HeaderAndFooterEvent.SetFont(Color.DARK_GRAY, "宋体", 12); //doc.Add(HeaderAndFooterEvent.AddParagraph("航班号: ", 1, 1.5f)); #endregion #region 加入图片 //doc.NewPage(); //四个参数分别为:图片路径,对齐方式,文档的右边距,下边距;边距这两个参数用于计算图片的缩放尺寸。 foreach (string s in fileNames) { doc.Add(HeaderAndFooterEvent.AddImage(s, 1, 0, 0)); } return(SaveName); #endregion } catch (Exception e) { clsPublic.ShowMessage(e.Message); return(""); } finally { pdfWriter.Flush(); pdfWriter.CloseStream = true; doc.Close(); } }