• C# PDF添加水印


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

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    using iTextSharp.text.html.simpleparser;
    using iTextSharp.text.pdf;
    using iTextSharp.text;
    using System.IO;


    namespace pdf_test
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                string source = @"D:Sample18.pdf"; //模板路径
                string output = @"D:SampleChap1018.pdf"; //导出水印背景后的PDF
                string watermark = @"D:Sample3.gif";   // 水印图片

                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;   //h////////////
                    }

                    //image.SetAbsolutePosition(left, (height - image.Height) - top);     //h////////////
                    image.SetAbsolutePosition(136, 36);

                    //每一页加水印,也可以设置某一页加水印
                    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();
                }
            }



            //
        }
    }

  • 相关阅读:
    UMeng SDK(友盟) 之 用户反馈
    CCSprite 实现书本翻页效果(quick cocos 2dx)
    quick-cocos2d-x 调用友盟(UMeng)的社区分享(Android平台)
    为精灵添加一些特殊的移动缩放动作,特效
    判断是否点击到了精灵(Sprite)
    quick-cocos-2dx学习之【scheduler.lua】
    quick-cocos-2dx学习之【init.lua】
    C/C++的头文件何处安身的问题
    Tomcat性能优化
    Tomcat基本原理
  • 原文地址:https://www.cnblogs.com/hutie1980/p/4483072.html
Copyright © 2020-2023  润新知