如何在C#,VB.NET中将平铺背景图像添加到PDF

平铺背景通常是指填充了一个或多个小图像重复的背景。本文将介绍如何在PDF中平铺图像,并在C#和VB.NET中为PDF创建平铺背景。

 【下载Spire.PDF最新版本

第1步创建PdfDocument对象并加载示例PDF文档。

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile( “sample.pdf”);

第2步将图像文件加载到PdfImage对象。

PdfImage image = PdfImage.FromFile(“logo.png”);
第3步 :创建PdfTilingBrush对象,指定其大小,设置画笔的透明度,并在画笔的指定位置绘制图像。
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(pdf.Pages [1] .Canvas.Size.Width / 3,pdf.Pages [1] .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));
	

第4步使用画笔在PDF页面上绘制矩形。

pdf.Pages [1] .Canvas.DrawRectangle(brush,new RectangleF(new PointF(0,0),page.Canvas.Size));

第5步保存文件。

pdf.SaveToFile( “输出.pdf”);

输出:


完整代码:

C#:

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile( “sample.pdf”);
PdfImage image = PdfImage.FromFile(“logo.png”);
foreach(pdf.Pages)
{
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( “输出.pdf”);

[VB.NET]:

Dim pdf As PdfDocument = New PdfDocument();
pdf.LoadFromFile( “sample.pdf”);
As PdfImage = PdfImage.FromFile(“logo.png”);
Dim brush As PdfTilingBrush = 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( “输出.pdf”);





猜你喜欢

转载自blog.csdn.net/xiaochuachua/article/details/81010127