这很有意思。 Winnovative网站上的this page我发现了一个很有用的代码片段。搜索6.4.2.2并阅读该部分的代码。
这是我使用的代码,基于我提供的链接。这被称为AFTER我生成PDF到PDFDocument对象。
public void PostDocProcessing(Winnovative.WnvHtmlConvert.PdfDocument.Document document, string sBackgroundImagePath)
{
// get the first page the PDF document
PdfPage firstPage = document.Pages[0];
System.Drawing.Image logoImg = System.Drawing.Image.FromFile(sBackgroundImagePath);
// calculate the watermark location
System.Drawing.SizeF imageSizePx = logoImg.PhysicalDimension;
// transform from pixels to points
float imageWidthPoints = UnitsConverter.PixelsToPoints(imageSizePx.Width);
float imageHeightPoints = UnitsConverter.PixelsToPoints(imageSizePx.Height);
float watermarkXLocation = (firstPage.ClientRectangle.Width - imageWidthPoints);
float watermarkYLocation = -50;
// add a template watermark to the document repeated on each document page
// the watermark size is equal to image size in points
Template watermarkTemplate = document.AddTemplate(new System.Drawing.RectangleF(watermarkXLocation, watermarkYLocation, imageWidthPoints, imageHeightPoints));
// add an image to the watermak
ImageElement watermarkImageElement = new ImageElement(0, -300, logoImg);
watermarkImageElement.Transparency = 100;
watermarkTemplate.AddElement(watermarkImageElement);
// dispose the image
logoImg.Dispose();
}