首页 > 编程 > C# > 正文

C#利用iTextSharp添加PDF水印

2019-10-29 21:12:08
字体:
来源:转载
供稿:网友

本文实例为大家分享了使用的是iTextSharp添加PDF水印的具体代码,供大家参考,具体内容如下

需要iTextSharp.dll, 下载地址http://sourceforge.net/projects/itextsharp/

public void Test()    {      Watermark(@"E:/日常工作/12084347 config.pdf", @"E:/日常工作/12084347 config wm.pdf", @"E:/日常工作/wm.png");}    
 public bool AddWatermark(string inputPath, string outputPath, string watermarkPath, ref string error)    {      try      {        PdfReader pdfReader = new PdfReader(inputPath);        int numberOfPages = pdfReader.NumberOfPages;        FileStream outputStream = new FileStream(outputPath, FileMode.Create);        PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream);        PdfContentByte waterMarkContent;        iTextSharp.text.Image image = null;        if (string.IsNullOrEmpty(watermarkPath))        {          Stream s = GetType().Assembly.GetManifestResourceStream("WatermarkTool.wm.png");          image = iTextSharp.text.Image.GetInstance(s);        }        else        {          image = iTextSharp.text.Image.GetInstance(watermarkPath);        }                image.SetAbsolutePosition(100, 100);        for (int i = 1; i <= numberOfPages; i++)        {          waterMarkContent = pdfStamper.GetUnderContent(i);          waterMarkContent.AddImage(image);        }        pdfStamper.Close();        pdfReader.Close();        outputStream.Close();        return true;      }      catch (Exception ex)      {        error = ex.StackTrace;        return false;      }    }
 //选择文件夹    private void textBox2_DoubleClick(object sender, EventArgs e)    {      FolderBrowserDialog dialog = new FolderBrowserDialog();      dialog.Description = label2.Text;      if (dialog.ShowDialog() == DialogResult.OK)      {        textBox2.Text = dialog.SelectedPath;      }    }    //选择文件    private void textBox3_DoubleClick(object sender, EventArgs e)    {      OpenFileDialog fileDialog = new OpenFileDialog();      fileDialog.Multiselect = true;      fileDialog.Title = label3.Text;      fileDialog.Filter = "*.jpg|*.jpg|*.jpeg|*.jpeg|*.bmp|*.bmp|*.gif|*.gif|*.png|*.png|*.Tiff|*.Tiff|*.Wmf|*.Wmf";      if (fileDialog.ShowDialog() == DialogResult.OK)      {        textBox3.Text = fileDialog.FileName;      }    }
 //启动线程    private void button1_Click(object sender, EventArgs e)    {      if (Directory.Exists(textBox1.Text) == false )      {        MessageBox.Show(label1.Text, "Require input", MessageBoxButtons.OK, MessageBoxIcon.Warning);        textBox1.Focus();        return;      }      if (Directory.Exists(textBox2.Text) == false)      {        MessageBox.Show(label2.Text, "Require input", MessageBoxButtons.OK, MessageBoxIcon.Warning);        textBox2.Focus();        return;      }      if ( textBox3.Enabled && File.Exists(textBox3.Text) == false)      {        MessageBox.Show(label3.Text, "Require input", MessageBoxButtons.OK, MessageBoxIcon.Warning);        textBox3.Focus();        return;      }      richTextBox1.Clear();      button1.Enabled = false;      Thread thread = new Thread(new ThreadStart(this.BatchDo));      thread.IsBackground = true;      thread.Start();     }
 public delegate void SetControlValue(string message);    //在线程中修改控件属性    public void AppendRTBText(string text)    {      if (richTextBox1.InvokeRequired)      {        SetControlValue cal = delegate(string s) { richTextBox1.AppendText(s); };        this.Invoke(cal, text);      }      else      {        richTextBox1.AppendText(text);      }    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到c#教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表