我现在开发一个PDF,客户有个要求就是生成的PDF总页码要放在第一页中的字段Page边上,求怎么获取itextsharp总页码。
就是这种1/10?
不是,就是我的客户说在第一页上直接显示总页数 比如十页就为十
不是显示在页脚上的,而是显示在表体上
@香槟6: PDF基本没做过,但我所知道的是:一般的能打开PDF的软件,都有这种1/10的显示(软件带的,根本不用你自己写);当然自己写也可以,我在第一家公司那时候,维护一个生成PDF软件的时候,记得是可以的,但也有可能是:那时候总页数就是自己规定的。。。
@顾晓北: 我那个客户要求总页码打印出来时看第一页的Page字段就知道这个PDF有几页
@香槟6: 打印出来啊,那就需要了,直接加上类似1/10这种页脚不也行么?
@顾晓北: 客户说是在Page字段上显示不看页脚
@香槟6: 不然也不用纠结了
@顾晓北: 不过我想到一种方法就是在每增加一页,后面index++ ,到最后把page字段的总页数index直接定位到第一页,但是定位到第一页不知道怎么写
//先创建一个模板
public static PdfTemplate PageCount(PdfContentByte canvas, PdfTemplate template)
{
template = canvas.CreateTemplate(50, 50);
String text = "";
canvas.BeginText();
canvas.SetRGBColorFill(0, 0, 0);
canvas.SetFontAndSize(BaseFont.CreateFont(), 13);
canvas.ShowText(text);
canvas.EndText();
canvas.AddTemplate(template, 460, 720); //把总页数定位在第一页的某个位置
return template;
}
//放在document.Close();关闭之前
//获取创建PDF总的页数
public static void PageEnd(PdfWriter writer, PdfTemplate template)
{
template.BeginText();
template.SetFontAndSize(BaseFont.CreateFont(), 12);
template.ShowText((writer.PageNumber).ToString());
template.EndText();
}