本文實例講述了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#控制台項目,添加引用並使用命名空間。
? 1 2using
System.Drawing;
using
Spire.Pdf;
第二步:創建一個PDF文檔對象,並加載源PDF文件。
? 1 2PdfDocument doc =
new
PdfDocument();
doc.LoadFromFile(
"sample.pdf"
);
第三步:獲取該PDF文件的第一頁。
? 1PdfPageBase page = doc.Pages[0];
第四步:加載圖片並把它設置為頁面背景。
? 1 2Image backgroundImage = Image.FromFile(
"background.jpg"
);
page.BackgroundImage = backgroundImage;
第五步:保存文件並重新打開。
? 1 2doc.SaveToFile(
"result.pdf"
);
System.Diagnostics.Process.Start(
"result.pdf"
);
放上全部代碼:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20using
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組件,就目前來看我想要的功能基本上都能滿足,也比較方便。