Мы используем MigraDoc,
http://www.pdfsharp.net/MigraDocOverview.ashx?AspxAutoDetectCookieSupport=1
В частности, библиотеку PdfSharp в PdfSharp.dll,
PdfDocument doc = PdfReader.Open(pdf1Point4FileDataStream, PdfDocumentOpenMode.Modify)
foreach (PdfPage page in doc.Pages)
{
page.Orientation = PdfSharp.PageOrientation.Portrait;
var gfx = XGraphics.FromPdfPage(page, XGraphicsPdfPageOptions.Append, XPageDirection.Downwards);
gfx.DrawString(approvalWatermark, approvalFont, watermarkBrush, new XPoint((page.Width - maxWidth + approvalDiff) / 2 - space - moveLeft, page.Height / 2 - height1 - space), format);
}
Немного кода, взятого из нашего проектатак что это немного неполноценно.Посмотрите на библиотеку и классы, там будет немного документации.