C#实现PDF文件添加图片背景
本文实例讲述了C#使用iTextSharp设置PDF所有页面背景图功能的方法。分享给大家供大家参考。具体如下:
在生成PDF的时候,虽然可以在页面中设置背景图。
但有些内容过长夸页面的时候,就很难设置背景图,变成了空白背景的页面!
以下是重新生成每一页PDF背景图功能代码!
publicvoidSetPdfBackground(stringpdfFilePath)
{
//重新生成的PDF的路径
stringdestFile=HttpContext.Current.Server.MapPath("sample.pdf");
//createnewpdfdocument
FileStreamstream=newFileStream(destFile,FileMode.Create,FileAccess.ReadWrite);
PdfReaderreader=newPdfReader(pdfFilePath);
//readpdfstream
PdfStamperstamper=newPdfStamper(reader,stream);
stringimagePage=HttpContext.Current.Server.MapPath("../images/2012/bg2.png");
System.Drawing.Imageimage=System.Drawing.Image.FromFile(imagePage);
varimg=Image.GetInstance(image,System.Drawing.Imaging.ImageFormat.Png);
img.SetAbsolutePosition(0,0);
inttotalPage=reader.NumberOfPages;
for(intcurrent=1;current<=totalPage;current++)
{
varcanvas=stamper.GetUnderContent(current);
varpage=stamper.GetImportedPage(reader,current);
canvas.AddImage(img);
}
stamper.Close();
reader.Close();
}
下面还是实现的是给PDF文件添加图片背景这个功能。PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累,更换PDF的背景不仅可以让眼睛看起来更舒服,还可以让PDF文件看上去更美观。如何实现?
作为一名程序猿,当然要亲自“操刀上阵”,主要写的是如何使用C#给PDF文件添加图片背景。
首先准备的PDF文件,下面讲一下具体代码:
代码使用:
第一步:创建一个VisualC#控制台项目,添加引用并使用命名空间。
usingSystem.Drawing; usingSpire.Pdf;
第二步:创建一个PDF文档对象,并加载源PDF文件。
PdfDocumentdoc=newPdfDocument();
doc.LoadFromFile("sample.pdf");
第三步:获取该PDF文件的第一页。
PdfPageBasepage=doc.Pages[0];
第四步:加载图片并把它设置为页面背景。
ImagebackgroundImage=Image.FromFile("background.jpg");
page.BackgroundImage=backgroundImage;
第五步:保存文件并重新打开。
doc.SaveToFile("result.pdf");
System.Diagnostics.Process.Start("result.pdf");
放上全部代码:
usingSystem.Drawing;
usingSpire.Pdf;
namespaceAdd_image_background_to_PDF
{
classProgram
{
staticvoidMain(string[]args)
{
PdfDocumentdoc=newPdfDocument();
doc.LoadFromFile("sample.pdf");
PdfPageBasepage=doc.Pages[0];
ImagebackgroundImage=Image.FromFile("background.jpg");
page.BackgroundImage=backgroundImage;
doc.SaveToFile("result.pdf");
System.Diagnostics.Process.Start("result.pdf");
}
}
}
总结:
PDF虽不是微软的办公软件,但却因为它有诸多优点,而被广泛使用。PDF本身相较于Word和Excel等文件更不容易被编辑,而需要借用其它的组件,在这个示例中我使用的是E-iceblue公司的免费PDF组件,就目前来看我想要的功能基本上都能满足,也比较方便。