ASPOSE PDF 添加浮水印

1,121 阅读1分钟

这几天有个需求,用户打开pdf需要添加浮水印,网上很少aspose 的代码信息,刚开始用watermark,会覆盖到原来的pdf,英文渣渣,可能哪里没注意到,捣鼓了半天用stamp 弄出来了,主要代码

Aspose.Pdf.Facades.FormattedText formattedText = new Aspose.Pdf.Facades.FormattedText(strWatermark, new Aspose.Pdf.Facades.FontColor(211, 178, 130) , Aspose.Pdf.Facades.FontStyle.Helvetica, Aspose.Pdf.Facades.EncodingType.Identity_h, true, 18F);

            int height =Convert.ToInt32(pdfDocument.PageInfo.Height);
            int width = Convert.ToInt32(pdfDocument.PageInfo.Width);
            int textSpace = height/5;
            int pageCount = pdfDocument.Pages.Count;
            int rightMagin=50;
            float opacity=0.6;
            int rotateAngle=20;
            int stampRowCount=6;
            for (int j = 1; j <= pageCount; j++)
            {
                for (int i = 0; i < stampRowCount; i++)
                {

                    var textStamp = new Aspose.Pdf.TextStamp(formattedText)
                    {
                        VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top,
                        HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center,
                    };
                    var textStampLeft = new Aspose.Pdf.TextStamp(formattedText)
                    {
                        VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top,
                        HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Left,
                    };
                    var textStampRight = new Aspose.Pdf.TextStamp(formattedText)
                    {
                        VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top,
                        HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Right,
                    };
                    int marginHeight = i * textSpace + 20;
                    textStamp.Opacity = opacity;
                    textStamp.RotateAngle = rotateAngle;
                    textStamp.TopMargin = marginHeight;
                    textStampLeft.Opacity =opacity;
                    textStampLeft.RotateAngle = rotateAngle;
                    textStampLeft.TopMargin = marginHeight;
                    textStampRight.Opacity = opacity;
                    textStampRight.RotateAngle =rotateAngle;
                    textStampRight.TopMargin = marginHeight;
                    textStampRight.RightMargin = rightMagin;
                    pdfDocument.Pages[j].AddStamp(textStamp);
                    pdfDocument.Pages[j].AddStamp(textStampLeft);
                    pdfDocument.Pages[j].AddStamp(textStampRight);
                }

            }

            string fileName = uuid + ".pdf";
            pdfDocument.Save(uploadpath +fileName);