c# pdf在目录中显示页码

最近做了个目录加子页面的pdf,子页面的页码不固定,是动态的 ,目录页面调用一个方法来生成子页面
如何在目录中显示页码呢?我们来看看

//以下是目录页关键代码

先在调用子页面的目录中创建几个对象
 MemoryStream ms = new MemoryStream();//流
 PdfWriter writer = PdfWriter.GetInstance(doc, ms);
 
 writer.CloseStream = false;
List<PdfTemplate> template = new List<PdfTemplate>();//模板对象数组


//以下创建一个模板对象事例,
 PdfTemplate temp =writer.DirectContent.CreateTemplate(100, 100);
  temp.BoundingBox = (new Rectangle(-20, -20, 100, 100));
    template.Add(temp);

PdfContentByte cb = writer.DirectContent;
cb.SetLineWidth(0);
cb.BeginText();

  cb.SetFontAndSize(bfChinese, 12);
  cb.SaveState();
  cb.AddTemplate(temp, 390, 676-i*20);//在指定位置添加模板,要在哪些位置显示页码就在哪添加模板
  cb.SaveState();

cb.EndText();


//

//以下是子页面关键代码


 if (tpl != null)//tpl是目录页传给子页面的PdfTemplate对象
  {
        tpl.BeginText();
        tpl.SetFontAndSize(table_font.BaseFont, 10);
        tpl.SetTextMatrix(0, 0);
        tpl.ShowText("" + writer.PageNumber + "");
        tpl.EndText();
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值