欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#使用iTextSharp设置PDF所有页面背景图功能实例

程序员文章站 2023-11-16 23:21:16
本文实例讲述了c#使用itextsharp设置pdf所有页面背景图功能的方法。分享给大家供大家参考。具体如下: 在生成pdf 的时候,虽然可以在页面中设置背景图。 但有...

本文实例讲述了c#使用itextsharp设置pdf所有页面背景图功能的方法。分享给大家供大家参考。具体如下:

在生成pdf 的时候,虽然可以在页面中设置背景图。

但有些内容过长夸页面的时候,就很难设置背景图,变成了空白背景的页面!

以下是重新生成每一页 pdf 背景图功能代码!

public void setpdfbackground(string pdffilepath) 
{
  //重新生成的 pdf 的路径
  string destfile = httpcontext.current.server.mappath("sample.pdf");
  //create new pdf document
  filestream stream = new filestream(destfile, filemode.create, fileaccess.readwrite);
  pdfreader reader = new pdfreader(pdffilepath);
  //read pdf stream 
  pdfstamper stamper = new pdfstamper(reader, stream);
  string imagepage = httpcontext.current.server.mappath("../images/2012/bg2.png");
  system.drawing.image image = system.drawing.image.fromfile(imagepage);
  var img = image.getinstance(image, system.drawing.imaging.imageformat.png);
  img.setabsoluteposition(0, 0);
  int totalpage = reader.numberofpages;
  for (int current = 1; current <= totalpage; current++)
  {
   var canvas = stamper.getundercontent(current);
   var page = stamper.getimportedpage(reader, current);
   canvas.addimage(img);
  }
  stamper.close();
  reader.close();
}

希望本文所述对大家的c#程序设计有所帮助。