// Open an existing document. Providing an unrequired password is ignored.
PdfSharp.Pdf.PdfDocument document = PdfReader.Open(pdfFilePath);
PdfSecuritySettings securitySettings = document.SecuritySettings;
// Setting one of the passwords automatically sets the security level to 
// PdfDocumentSecurityLevel.Encrypted128Bit.
//securitySettings.UserPassword = "user";
securitySettings.OwnerPassword = GGGuid.ToString();
// Don't use 40 bit encryption unless needed for compatibility reasons
//securitySettings.DocumentSecurityLevel = PdfDocumentSecurityLevel.Encrypted40Bit;
// Restrict some rights.
//除打印权限其他均关闭
securitySettings.PermitAccessibilityExtractContent = false;
securitySettings.PermitAnnotations = false;
securitySettings.PermitAssembleDocument = false;
securitySettings.PermitExtractContent = false;
securitySettings.PermitFormsFill = false;
securitySettings.PermitFullQualityPrint = true;
securitySettings.PermitModifyDocument = false;
securitySettings.PermitPrint = true;

//水印
for (int i = 0; i < document.Pages.Count; i++)
{
	string watermark = "水印文字";        //水印文字
	double emSize = 42;
	XFont xFont = new XFont("黑体", emSize);
	var page = document.Pages[i];

	var gfx = XGraphics.FromPdfPage(page, XGraphicsPdfPageOptions.Prepend);
	var size = gfx.MeasureString(watermark, xFont);
	gfx.TranslateTransform(page.Width / 2, page.Height / 2);
	gfx.RotateTransform(-Math.Atan(page.Height / page.Width) * 180 / Math.PI);
	gfx.TranslateTransform(-page.Width / 2, -page.Height / 2);
	var format = new XStringFormat();
	format.Alignment = XStringAlignment.Near;
	format.LineAlignment = XLineAlignment.Near;
	XBrush brush = new XSolidBrush(XColor.FromArgb(16, 0, 0, 0));
	//循环以实现全屏水印
	for (int y = 0; y < 10; y++)
	{
		for (int x = 0; x < 10; x++)
		{
			gfx.DrawString(watermark, xFont, brush, new XPoint(x * 180 - 300, y * 120), format);
		}
	}
}

document.Save(pdfFilePath);