加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 05:51:36 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#使用iTextSharp设置PDF所有页面背景图功能的方法。供大家参考研究。具体如下: 在生成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组件,就目前来看我想要的功能基本上都能满足,也比较方便。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读