首页 > 代码库 > itextSharp 对pdf的每个页面添加footer/header
itextSharp 对pdf的每个页面添加footer/header
1 static void SetAllHeaderFooter(string inputPath) 2 { 3 4 PdfReader reader=new PdfReader(inputPath); 5 PdfStamper stamp=new PdfStamper(reader , new FileStream(Guid.NewGuid().ToString("N")+".pdf" , FileMode.Create)); 6 7 8 for(int i=1 ; i<=reader.NumberOfPages ; i++) 9 {10 AddHeaderFooter(stamp , i , reader.NumberOfPages);11 } 12 13 stamp.Close();14 reader.Close();15 16 }
1 static void AddHeaderFooter(PdfStamper stamp,int pageNum,int pageCount) 2 { 3 4 PdfContentByte cb =stamp.GetOverContent(pageNum); 5 6 Color green=new Color(0 , 131 , 34); 7 BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA , BaseFont.CP1252 , BaseFont.NOT_EMBEDDED); 8 9 var header=new Rectangle(50 , 795 , 570 , 815);10 header.BackgroundColor=green;11 header.BorderColor=green;12 cb.Rectangle(header);13 cb.Stroke();14 15 var footer=new Rectangle(50 , 35 , 570 , 55);16 footer.BackgroundColor=green;17 footer.BorderColor=green;18 cb.Rectangle(footer);19 cb.Stroke();20 21 cb.SetRGBColorFill(255 , 255 , 255);22 23 cb.BeginText();24 cb.SetFontAndSize(bf , 12);25 cb.SetTextMatrix(70 , 800);26 27 cb.ShowText("U als ondernemer");28 cb.SetTextMatrix(550-bf.GetWidthPoint("Resultaten" , 12) , 800);29 cb.ShowText("Resultaten");30 cb.EndText();31 32 String pageText =string.Format("Page {0} of {1}",pageNum,pageCount);33 float pageLen = bf.GetWidthPoint(pageText , 12);34 cb.BeginText();35 cb.SetFontAndSize(bf , 12);36 cb.SetTextMatrix(280 , 40);37 cb.ShowText(pageText);38 cb.EndText();39 cb.ResetRGBColorFill();40 41 42 43 }
最终结果是长这样的:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。