下載類庫:
引入類庫
功能實現
using iTextSharp.text.pdf; using Spire.Pdf; using Spire.Pdf.Graphics; using System; using System.Drawing; using System.Windows.Forms; using PdfDocument = Spire.Pdf.PdfDocument; using PdfFont = Spire.Pdf.Graphics.PdfFont; namespace ProcessPdfDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Button1_Click(object sender, EventArgs e) { string fileName = @"C:\Users\Administrator\Desktop\圖紙\WH440-H111-F01_111分段結構圖.pdf"; //創建一個新的PDF實例,導入PDF文件 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(fileName); PdfPageBase pb = pdf.Pages.Add(); //新增一頁 pdf.Pages.Remove(pb); //去除第一頁水印 for (int i = 0; i < GetPdfPageNum(fileName); i++) { PdfPageBase page = pdf.Pages[i]; //添加文本水印到文件的第一頁,設置文本格式 PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / 3, page.Canvas.ClientSize.Height / 3)); //設置每行每列幾個水印 brush.Graphics.SetTransparency(0.2f); //透明度 brush.Graphics.Save(); brush.Graphics.TranslateTransform(brush.Size.Width / 2, brush.Size.Height / 2); brush.Graphics.RotateTransform(-45); //旋轉角度 brush.Graphics.DrawString("Draft Version", new PdfFont(PdfFontFamily.Helvetica, 40), PdfBrushes.Blue, 0, 0, new PdfStringFormat(PdfTextAlignment.Center)); brush.Graphics.Restore(); brush.Graphics.SetTransparency(1); page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.ClientSize)); } //保存文件 pdf.SaveToFile(@"C:\Users\Administrator\Desktop\圖紙\2222.pdf"); MessageBox.Show("ok"); } /// <summary> /// 獲取pdf頁數 /// </summary> /// <param name="pdfFile"></param> /// <returns></returns> public int GetPdfPageNum(string pdfFile) { PdfReader reader = new PdfReader(pdfFile); int iPageNum = reader.NumberOfPages; reader.Close(); //不關閉會一直占用pdf資源,對接下來的操作會有影響 return iPageNum; } } }
效果