C#实现PDF文件添加图片背景
程序员文章站
2022-06-03 15:20:15
本文实例讲述了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组件,就目前来看我想要的功能基本上都能满足,也比较方便。
上一篇: 发布一款npm包帮助理解npm的使用
下一篇: C#编程自学之流程控制语句