背景图可以让PDF文档更好看,或者作为PDF的水印使用。背景图可以是一张大图,也可以是一张小图平铺组成的图像。在本文中,您将学习如何在PDF中平铺图像,并为PDF创建一个平铺的背景。
C#
//创建PdfDocument对象
PdfDocument pdf = new PdfDocument();
//加载文档
pdf.LoadFromFile(@"F:\Documents\PDF\系统测试.pdf");
//加载图片
PdfImage image = PdfImage.FromFile("logo.png");
//遍历文档每一页
foreach (PdfPageBase page in pdf.Pages)
{
//创建PdfTilingBrush对象,指定大小
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.Size.Width / 3, page.Canvas.Size.Height / 5));
//设置画刷透明度
brush.Graphics.SetTransparency(0.2f);
//在画刷上绘制图片
brush.Graphics.DrawImage(image,new PointF((brush.Size.Width-image.Width)/2,(brush.Size.Height-image.Height)/2));
//使用画刷填充页面大小的矩形
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.Size));
}
//保存文档
pdf.SaveToFile("output.pdf");
VB.NET
'创建PdfDocument对象
Dim pdf As New PdfDocument()
'加载文档
pdf.LoadFromFile("F:\Documents\PDF\系统测试.pdf")
'加载图片
Dim image As PdfImage = PdfImage.FromFile("logo.png")
'遍历文档每一页
For Each page As PdfPageBase In pdf.Pages
'创建PdfTilingBrush对象,指定大小
Dim brush As New PdfTilingBrush(New SizeF(page.Canvas.Size.Width / 3, page.Canvas.Size.Height / 5))
'设置画刷透明度
brush.Graphics.SetTransparency(0.2F)
'在画刷上绘制图片
brush.Graphics.DrawImage(image, New PointF((brush.Size.Width - image.Width) / 2, (brush.Size.Height - image.Height) / 2))
'使用画刷填充页面大小的矩形
page.Canvas.DrawRectangle(brush, New RectangleF(New PointF(0, 0), page.Canvas.Size))
Next
'保存文档
pdf.SaveToFile("output.pdf")