C#给PDF文件添加水印的代码方法分享


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要为大家详细介绍了C#给PDF文件添加水印的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using iTextSharp.text.html.simpleparser;

using iTextSharp.text.pdf;

using iTextSharp.text;

using System.IO;

using System.Web.UI.HtmlControls;

using System.Drawing;

 

//itextsharp.dll version:5.1.10

 

protected void Button1_Click(object sender, EventArgs e)

   {

    string source =@"D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1011.pdf"; //模板路径

    string output = @"D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1012.pdf"; //导出水印背景后的PDF

    string watermark = @"D:\My.Sample\C#NET\Exoport2PDF\Web2\gp0.jpg"// 水印图片

 

    bool isSurrcess = PDFWatermark(source, output, watermark, 10, 10);

     

   }

 

 

  public bool PDFWatermark(string inputfilepath, string outputfilepath, string ModelPicName, float top, float left)

 

  {

    //throw new NotImplementedException();

    PdfReader pdfReader = null;

    PdfStamper pdfStamper = null;

    try

    {

      pdfReader = new PdfReader(inputfilepath);

 

      int numberOfPages = pdfReader.NumberOfPages;

 

      iTextSharp.text.Rectangle psize = pdfReader.GetPageSize(1);

 

      float width = psize.Width;

 

      float height = psize.Height;

 

      pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create));

 

      PdfContentByte waterMarkContent;

 

      iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(ModelPicName);

 

      image.GrayFill = 20;//透明度,灰色填充

      //image.Rotation//旋转

      //image.RotationDegrees//旋转角度

      //水印的位置

      if (left < 0)

      {

        left = width - image.Width + left;

      }

 

      image.SetAbsolutePosition(left, (height - image.Height) - top);

 

 

      //每一页加水印,也可以设置某一页加水印

      for (int i = 1; i <= numberOfPages; i++)

      {

        waterMarkContent = pdfStamper.GetUnderContent(i);

 

        waterMarkContent.AddImage(image);

      }

      //strMsg = "success";

      return true;

    }

    catch (Exception ex)

    {

       ex.Message.Trim();

      return false;

    }

    finally

    {

 

      if (pdfStamper != null)

        pdfStamper.Close();

 

      if (pdfReader != null)

        pdfReader.Close();

    }

以上就是C#给PDF文件添加水印的代码方法分享的详细内容!

相关阅读 >>

几个优秀的java和C#代码转换工具

详细介绍使用msscriptcontrol在C#中读取json数据的方法

C#接口(interface)

unity3d用什么语言开发?

详细介绍C# string格式的日期时间字符串转为datetime类型的方法

在c,c ++和c#中的int是什么

C#开发实例-订制屏幕截图工具(二)创建项目、注册热键、显示截图主窗口

C#二进制字节数组操作函数 截取字节数组subbyte的示例代码

详解C#读取xml多级子节点的示例代码

c#中的arraylist是什么?

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...