当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现PDF文件添加图片背景

C#实现PDF文件添加图片背景

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了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();
}
 

下面还是实现的是给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组件,就目前来看我想要的功能基本上都能满足,也比较方便。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网