好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现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();

}

下面还是实现的是给PDF文件添加图片背景这个功能。PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累,更换PDF的背景不仅可以让眼睛看起来更舒服,还可以让PDF文件看上去更美观。如何实现?

作为一名程序猿,当然要亲自[操刀上阵],主要写的是如何使用C# 给PDF文件添加图片背景。

首先准备的PDF文件,下面讲一下具体代码:

代码使用:

第一步: 创建一个Visual C#控制台项目,添加引用并使用命名空间。

?

using System.Drawing;

using Spire.Pdf;

第二步: 创建一个PDF文档对象,并加载源PDF文件。

?

PdfDocument doc = new PdfDocument();

doc.LoadFromFile( "sample.pdf" );

第三步: 获取该PDF文件的第一页。

?

PdfPageBase page = doc.Pages[0];

第四步: 加载图片并把它设置为页面背景。

?

Image backgroundImage = Image.FromFile( "background.jpg" );

page.BackgroundImage = backgroundImage;

第五步: 保存文件并重新打开。

?

doc.SaveToFile( "result.pdf" );

System.Diagnostics.Process.Start( "result.pdf" );

放上全部代码:

?

using System.Drawing;

using Spire.Pdf;

 

namespace Add_image_background_to_PDF

{

   class Program

   {

     static void Main( string [] args)

     {

       PdfDocument doc = new PdfDocument();

       doc.LoadFromFile( "sample.pdf" );

       PdfPageBase page = doc.Pages[0];

       Image backgroundImage = Image.FromFile( "background.jpg" );

       page.BackgroundImage = backgroundImage;

 

       doc.SaveToFile( "result.pdf" );

       System.Diagnostics.Process.Start( "result.pdf" );

     }

   }

}

 总结:

PDF虽不是微软的办公软件,但却因为它有诸多优点,而被广泛使用。PDF本身相较于Word和Excel等文件更不容易被编辑,而需要借用其它的组件,在这个示例中我使用的是E-iceblue公司的免费PDF组件,就目前来看我想要的功能基本上都能满足,也比较方便。

dy("nrwz");

查看更多关于C#实现PDF文件添加图片背景的详细内容...

  阅读:70次