平铺背景通常是指填充了一个或多个小图像重复的背景。本文将介绍如何在PDF中平铺图像,并在C#和VB.NET中为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”);