星空网 > 软件开发 > ASP.net

当PDF页面总数不确定的时候导出PDF增加页码(i of n)

既然是要导出PDF首先肯定是导出PDF的代码。

  代码如下:

 1 Document document1 = new Document();//创建一个Document 实例  2       PdfWriter.GetInstance(document1, new FileStream(@"C:\001.pdf", FileMode.Create));//创建一个PDF       3       document1.Open();//打开页面 4       Random ran = new Random();//定义一个随机数 模拟不确定页数 5       for (int i = 0; i < ran.Next(30, 100); i++) 6       { 7         document1.SetPageSize(PageSize.A4);//设置页面大小 8         document1.NewPage();//新开一页 9         document1.Add(new Paragraph("PDF1, PDF1, PDF1, PDF1, PDF1"));//增加点东西10       }11       document1.Close();

此时一个001.pdf已经新建完毕,接下来开始给这个pdf增加页码。
  代码如下

 1 // 创建一个PdfReader对象 2 PdfReader reader = new PdfReader(@"C:\001.pdf"); 3  // 获得文档页数 4 int n = reader.NumberOfPages; 5 // 创建一个文档变量 6 Document document = new Document(); 7 // 创建该文档 8 PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"C:\002.pdf", FileMode.Create)); 9 // 打开文档10 document.Open();11 // 添加内容12 PdfContentByte cb = writer.DirectContent;13 for (int i = 0; i < reader.NumberOfPages; i++)14         {15           //获取大小16           Rectangle psize = reader.GetPageSize(i + 1);17           float width = psize.Width;18           float height = psize.Height;19           //设置页面大小20           document.SetPageSize(psize);21           //新开一页22           document.NewPage();23           //添加内容24           PdfImportedPage page1 = writer.GetImportedPage(reader, i + 1);25           cb.AddTemplate(page1, 0, 0);26           cb.MoveTo(0, height);27           cb.Stroke();28           cb.MoveTo(width, height);29           cb.Stroke();30           //写入页码31           BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);32           cb.BeginText();33           cb.SetFontAndSize(bf, 14);34           cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, string.Format("{0} of {1}", (i + 1).ToString(), n.ToString()), width / 2, 18, 0);35           cb.EndText();36         }37         // 关闭文档38         document.Close();39         reader.Close();

此时已经新建了一个新的002.pdf,内容完全一致,唯独多了页码(例如:1 of 35);接下来只要将原来的001.pdf删除并且将002.pdf修改为001.pdf就可以了。小弟初出茅庐有什么不对的地方,再看这篇随笔的人可以指出。




原标题:当PDF页面总数不确定的时候导出PDF增加页码(i of n)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊运营到赚钱的八项修炼(一):选品是王道:https://www.ikjzd.com/articles/131261
亚马逊运营到赚钱的八项修炼(二):Listing优化是重要呈现:https://www.ikjzd.com/articles/131262
小白入门篇| 我们常说的电商 SaaS、DTC、独立站到底是什么?:https://www.ikjzd.com/articles/131263
LAZADA下半年家居厨房用品&灯具市场分析:https://www.ikjzd.com/articles/131264
如何让Facebook的广告素材如何脱颖而出?:https://www.ikjzd.com/articles/131265
亚马逊再更通知,有人欢喜有人愁:https://www.ikjzd.com/articles/131266
SEOer必须掌握的五大软技能:https://www.kjdsnews.com/a/1836597.html
“有几个独角兽真的值10亿美金?”:https://www.kjdsnews.com/a/1836598.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流