亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現的pdf生成圖片文字水印類實例

2019-10-29 21:08:12
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現的pdf生成圖片文字水印類。分享給大家供大家參考,具體如下:

public class PDFSetWaterMark{    /// <summary>    /// 創建一個顯示指定圖片的pdf    /// </summary>    /// <param name="picPdfPath"></param>    /// <param name="picPath"></param>    /// <returns></returns>    public static bool CreatePDFByPic(string picPdfPath, string picPath)    {      //新建一個文檔      Document doc = new Document();      try      {        //建立一個書寫器(Writer)與document對象關聯        PdfWriter.GetInstance(doc, new FileStream(picPdfPath, FileMode.Create, FileAccess.ReadWrite));        //打開一個文檔        doc.Open();        //向文檔中添加內容        Image img = Image.GetInstance(picPath);        //img.SetAbsolutePosition();        doc.Add(img);        return true;      }      catch (Exception ex)      {        return false;        throw ex;      }      finally      {        if (doc != null)        {          doc.Close();        }      }    }    /// <summary>    /// 加圖片水印    /// </summary>    /// <param name="inputfilepath"></param>    /// <param name="outputfilepath"></param>    /// <param name="ModelPicName"></param>    /// <param name="top"></param>    /// <param name="left"></param>    /// <returns></returns>    public static 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 / 2 - image.Width + left;        }        //image.SetAbsolutePosition(left, (height - image.Height) - top);        image.SetAbsolutePosition(left, (height / 2 - image.Height) - top);        //每一頁加水印,也可以設置某一頁加水印        for (int i = 1; i <= numberOfPages; i++)        {          //waterMarkContent = pdfStamper.GetUnderContent(i);//內容下層加水印          waterMarkContent = pdfStamper.GetOverContent(i);//內容上層加水印          waterMarkContent.AddImage(image);        }        //strMsg = "success";        return true;      }      catch (Exception ex)      {        throw ex;      }      finally      {        if (pdfStamper != null)          pdfStamper.Close();        if (pdfReader != null)          pdfReader.Close();      }    }    /// <summary>    /// 添加普通偏轉角度文字水印    /// </summary>    /// <param name="inputfilepath"></param>    /// <param name="outputfilepath"></param>    /// <param name="waterMarkName"></param>    /// <param name="permission"></param>    public static void setWatermark(string inputfilepath, string outputfilepath, string waterMarkName)    {      PdfReader pdfReader = null;      PdfStamper pdfStamper = null;      try      {        pdfReader = new PdfReader(inputfilepath);        pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create));        int total = pdfReader.NumberOfPages + 1;        iTextSharp.text.Rectangle psize = pdfReader.GetPageSize(1);        float width = psize.Width;        float height = psize.Height;        PdfContentByte content;        BaseFont font = BaseFont.CreateFont(@"C:/WINDOWS/Fonts/SIMFANG.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);        PdfGState gs = new PdfGState();        for (int i = 1; i < total; i++)        {          content = pdfStamper.GetOverContent(i);//在內容上方加水印          //content = pdfStamper.GetUnderContent(i);//在內容下方加水印          //透明度          gs.FillOpacity = 0.3f;          content.SetGState(gs);          //content.SetGrayFill(0.3f);          //開始寫入文本          content.BeginText();          content.SetColorFill(BaseColor.LIGHT_GRAY);          content.SetFontAndSize(font, 100);          content.SetTextMatrix(0, 0);          content.ShowTextAligned(Element.ALIGN_CENTER, waterMarkName, width / 2 - 50, height / 2 - 50, 55);          //content.SetColorFill(BaseColor.BLACK);          //content.SetFontAndSize(font, 8);          //content.ShowTextAligned(Element.ALIGN_CENTER, waterMarkName, 0, 0, 0);          content.EndText();        }      }      catch (Exception ex)      {        throw ex;      }      finally      {        if (pdfStamper != null)          pdfStamper.Close();        if (pdfReader != null)          pdfReader.Close();      }    }    /// <summary>    /// 添加傾斜水印    /// </summary>    /// <param name="inputfilepath"></param>    /// <param name="outputfilepath"></param>    /// <param name="waterMarkName"></param>    /// <param name="userPassWord"></param>    /// <param name="ownerPassWord"></param>    /// <param name="permission"></param>    public static void setWatermark(string inputfilepath, string outputfilepath, string waterMarkName, string userPassWord, string ownerPassWord, int permission)    {      PdfReader pdfReader = null;      PdfStamper pdfStamper = null;      try      {        pdfReader = new PdfReader(inputfilepath);        pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create));        // 設置密碼        //pdfStamper.SetEncryption(false,userPassWord, ownerPassWord, permission);        int total = pdfReader.NumberOfPages + 1;        PdfContentByte content;        BaseFont font = BaseFont.CreateFont(@"C:/WINDOWS/Fonts/SIMFANG.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);        PdfGState gs = new PdfGState();        gs.FillOpacity = 0.2f;//透明度        int j = waterMarkName.Length;        char c;        int rise = 0;        for (int i = 1; i < total; i++)        {          rise = 500;          content = pdfStamper.GetOverContent(i);//在內容上方加水印          //content = pdfStamper.GetUnderContent(i);//在內容下方加水印          content.BeginText();          content.SetColorFill(BaseColor.DARK_GRAY);          content.SetFontAndSize(font, 50);          // 設置水印文字字體傾斜 開始          if (j >= 15)          {            content.SetTextMatrix(200, 120);            for (int k = 0; k < j; k++)            {              content.SetTextRise(rise);              c = waterMarkName[k];              content.ShowText(c + "");              rise -= 20;            }          }          else          {            content.SetTextMatrix(180, 100);            for (int k = 0; k < j; k++)            {              content.SetTextRise(rise);              c = waterMarkName[k];              content.ShowText(c + "");              rise -= 18;            }          }          // 字體設置結束          content.EndText();          // 畫一個圓          //content.Ellipse(250, 450, 350, 550);          //content.SetLineWidth(1f);          //content.Stroke();        }      }      catch (Exception ex)      {        throw ex;      }      finally      {        if (pdfStamper != null)          pdfStamper.Close();        if (pdfReader != null)          pdfReader.Close();      }    }}

希望本文所述對大家C#程序設計有所幫助。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲色在线视频| 亚洲va男人天堂| 欧美极品美女视频网站在线观看免费| 97国产真实伦对白精彩视频8| 国产精品久久久久久久7电影| 亚洲aa在线观看| 欧美激情图片区| 成人午夜一级二级三级| 国产精品久久久久91| 亚洲精品一区二区久| 国产在线观看不卡| 国模精品系列视频| 久久久久中文字幕| 激情懂色av一区av二区av| 欧美日韩中文字幕日韩欧美| 欧美成年人视频| 国产91对白在线播放| 欧美大尺度在线观看| 亚洲一区二区三区sesese| 伊人久久久久久久久久| 欧美激情啊啊啊| 亚洲欧美日韩视频一区| 大胆欧美人体视频| 日韩亚洲成人av在线| 亚洲国产精品资源| 亚洲美女av电影| 97在线视频国产| 国产日韩欧美在线播放| 欧美床上激情在线观看| 国产精品日韩在线播放| 欧美一区二区大胆人体摄影专业网站| 亚洲精品欧美日韩专区| 欧美大片免费观看在线观看网站推荐| 国产精品视频久久久久| 亚洲欧美激情四射在线日| 色视频www在线播放国产成人| 亚洲性视频网站| wwwwwwww亚洲| 欧美不卡视频一区发布| 欧美一区二区三区免费视| 最近日韩中文字幕中文| 欧美高清第一页| 中文字幕精品av| 亚洲欧美日韩国产中文专区| 日韩精品视频免费专区在线播放| 91天堂在线视频| 久久天堂电影网| 久久久久久12| 欧洲成人午夜免费大片| 国产一区二区三区在线免费观看| 欧美性猛交xxxx免费看久久久| 欧美午夜精品久久久久久浪潮| 岛国精品视频在线播放| 97在线看免费观看视频在线观看| 国产欧美精品一区二区三区介绍| 国产一区玩具在线观看| 亚洲日韩中文字幕| 亚洲日韩欧美视频一区| 亚洲女人被黑人巨大进入al| 日韩av网站大全| 欧美国产视频一区二区| 九九久久久久久久久激情| 亚洲午夜国产成人av电影男同| 日韩有码片在线观看| 91中文在线视频| 亚洲石原莉奈一区二区在线观看| 国产成+人+综合+亚洲欧美丁香花| 欧美日韩成人在线视频| 久久精品中文字幕免费mv| 日韩欧美亚洲综合| 欧美麻豆久久久久久中文| 精品一区二区三区电影| 国产成+人+综合+亚洲欧洲| 96pao国产成视频永久免费| 色综合视频一区中文字幕| 欧美日本精品在线| 性夜试看影院91社区| 国产精品1234| 成人激情视频免费在线| 亚洲人成亚洲人成在线观看| 亚洲激情视频在线| 国产亚洲美女精品久久久| 国内精品久久久久影院优| 色777狠狠综合秋免鲁丝| 久久久这里只有精品视频| 日韩成人av在线播放| 亚洲综合视频1区| 亚洲日韩欧美视频一区| 国产在线视频2019最新视频| 国产在线拍揄自揄视频不卡99| 91影视免费在线观看| 国产精品白丝jk喷水视频一区| 国产精品网址在线| 日本精品久久久久久久| 欧美性猛交xxxx免费看漫画| 日韩欧美在线播放| 91精品国产乱码久久久久久蜜臀| 伊是香蕉大人久久| 亚洲精品视频网上网址在线观看| 日韩欧美在线观看| 久久精品久久久久| 高清欧美性猛交| 欧美国产激情18| 国模吧一区二区三区| 亚洲精品电影久久久| 欧美日韩视频在线| 欧美在线精品免播放器视频| 91在线免费观看网站| 国产精品成人免费电影| 久久久久久国产三级电影| 一区二区福利视频| 国产精品久久久久久亚洲调教| 国产精品视频资源| 亚洲自拍偷拍福利| 欧美中文字幕在线视频| 92版电视剧仙鹤神针在线观看| 国产精品27p| 欧美大尺度电影在线观看| 久久综合久久八八| 精品视频在线播放色网色视频| 欧美另类极品videosbestfree| 亚洲free性xxxx护士hd| 亚洲最新av在线网站| 久久久999精品免费| 亚洲级视频在线观看免费1级| 国产精品国产福利国产秒拍| 97av在线播放| 国产精品女人网站| 亚洲色图在线观看| 精品偷拍各种wc美女嘘嘘| 欧美老妇交乱视频| 97超级碰碰碰久久久| 国产精品一区二区3区| 欧美天天综合色影久久精品| 日韩精品中文字幕在线观看| 亚洲成在人线av| 亚洲成年人在线播放| 日韩欧美精品在线观看| 日韩美女视频中文字幕| 欧美日韩亚洲网| 亚洲人成电影在线观看天堂色| 91精品久久久久久综合乱菊| 国产成人精品久久二区二区| 日日狠狠久久偷偷四色综合免费| 亚洲九九九在线观看| 午夜精品一区二区三区视频免费看| 欧美日韩电影在线观看| 成人免费网站在线看| 欧美激情亚洲激情| 国产精品9999| 综合网日日天干夜夜久久| 黄色一区二区在线观看| 久久免费视频网站| 日韩免费视频在线观看| 九九久久久久久久久激情| 国产精品专区h在线观看| 欧美成人精品一区| 一区二区成人精品| 日韩av在线一区| 国产成人综合久久| 中文字幕少妇一区二区三区| 懂色av中文一区二区三区天美| 疯狂欧美牲乱大交777| 日韩在线免费观看视频|