开发者

Winnovative HTMLtoPDF converter, add a Watermark

开发者 https://www.devze.com 2022-12-12 20:59 出处:网络
Has anyone used the Winnovative HTMLtoPDF converter to generate a PDF from HTM开发者_开发技巧L content?And if so, has anyone successfully put a watermark on any or all pages of that resulting PDF?This

Has anyone used the Winnovative HTMLtoPDF converter to generate a PDF from HTM开发者_开发技巧L content? And if so, has anyone successfully put a watermark on any or all pages of that resulting PDF?


This got interesting. From this page on Winnovative's site I found a code snippet that was useful. Search for 6.4.2.2 and read the code in that section.

Here is the code I used, based on the link I provided. This gets called AFTER I generate the pdf into a PDFDocument object.

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();
}
0

精彩评论

暂无评论...
验证码 换一张
取 消