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