Ejemplo n.º 1
0
        public void RemoveWatermarkFromDocument()
        {
            //ExStart:RemoveWatermarkFromDocument
            Document doc = new Document();

            // Add a plain text watermark.
            doc.Watermark.SetText("Aspose Watermark");

            // If we wish to edit the text formatting using it as a watermark,
            // we can do so by passing a TextWatermarkOptions object when creating the watermark.
            TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();

            textWatermarkOptions.FontFamily       = "Arial";
            textWatermarkOptions.FontSize         = 36;
            textWatermarkOptions.Color            = Color.Black;
            textWatermarkOptions.Layout           = WatermarkLayout.Diagonal;
            textWatermarkOptions.IsSemitrasparent = false;

            doc.Watermark.SetText("Aspose Watermark", textWatermarkOptions);

            doc.Save(ArtifactsDir + "Document.TextWatermark.docx");

            // We can remove a watermark from a document like this.
            if (doc.Watermark.Type == WatermarkType.Text)
            {
                doc.Watermark.Remove();
            }

            doc.Save(ArtifactsDir + "WorkWithWatermark.RemoveWatermarkFromDocument.docx");
            //ExEnd:RemoveWatermarkFromDocument
        }
Ejemplo n.º 2
0
        public async Task AddWatermarkAsync(string text, TextWatermarkOptions options)
        {
            var files = GetFiles();

            Directory.CreateDirectory(WatermarkFolder);

            foreach (var filePath in files)
            {
                using var file  = File.OpenRead(Path.Combine(UploadFolder, filePath));
                using var image = Image.FromStream(file);
                image.AddTextWatermark(text, options);

                await SaveImageAsync(image, WatermarkFolder, filePath);
            }
        }
Ejemplo n.º 3
0
        private TextWatermarkOptions ApplyWaterMark(string waterMark, string backgroundColor, Image scaledImage, TextWatermarkOptions tOps)
        {
            if (!string.IsNullOrEmpty(backgroundColor))
            {
                tOps = new TextWatermarkOptions
                {
                    BGColor = Color.FromName(backgroundColor)
                };
            }

            if (!string.IsNullOrEmpty(waterMark))
            {
                scaledImage.AddTextWatermark(waterMark, tOps);
            }

            return(tOps);
        }
Ejemplo n.º 4
0
        public byte[]  GetResizedImage(string imagePathAndName, int width, int height, string waterMark = "", string backgroundColor = "")
        {
            byte[] resizeImageByte;
            using (Image img = Image.FromFile(imagePathAndName))
            {
                var scaledImage = img.Scale(width, height, new GraphicOptions()
                {
                    PageUnit = GraphicsUnit.Pixel
                });
                var tOps = new TextWatermarkOptions();
                tOps = ApplyWaterMark(waterMark, backgroundColor, scaledImage, tOps);

                resizeImageByte = GetImageByteArray(scaledImage);
            }

            return(resizeImageByte);
        }
Ejemplo n.º 5
0
        public void AddTextWatermarkWithSpecificOptions()
        {
            //ExStart:AddTextWatermarkWithSpecificOptions
            Document doc = new Document(MyDir + "Document.docx");

            TextWatermarkOptions options = new TextWatermarkOptions()
            {
                FontFamily       = "Arial",
                FontSize         = 36,
                Color            = Color.Black,
                Layout           = WatermarkLayout.Horizontal,
                IsSemitrasparent = false
            };

            doc.Watermark.SetText("Test", options);

            doc.Save(ArtifactsDir + "WorkWithWatermark.AddTextWatermarkWithSpecificOptions.docx");
            //ExEnd:AddTextWatermarkWithSpecificOptions
        }
        public static void AddTextWatermarkWithSpecificOptions(string dataDir)
        {
            // ExStart: AddTextWatermarkWithSpecificOptions
            Document doc = new Document(dataDir + "Document.doc");

            TextWatermarkOptions options = new TextWatermarkOptions()
            {
                FontFamily       = "Arial",
                FontSize         = 36,
                Color            = Color.Black,
                Layout           = WatermarkLayout.Horizontal,
                IsSemitrasparent = false
            };

            doc.Watermark.SetText("Test", options);

            doc.Save(dataDir + "AddTextWatermark_out.docx");
            // ExEnd: AddTextWatermarkWithSpecificOptions
            Console.WriteLine("\nDocument saved successfully.\nFile saved at " + dataDir);
        }
Ejemplo n.º 7
0
        static void CreateTextWatermark(Document document)
        {
            #region #CreateTextWatermark
            //Check whether the document sections have headers:
            foreach (Section section in document.Sections)
            {
                if (!section.HasHeader(HeaderFooterType.Primary))
                {
                    //If not, create an empty header
                    SubDocument header = section.BeginUpdateHeader();
                    section.EndUpdateHeader(header);
                }
            }
            TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();
            textWatermarkOptions.Color           = System.Drawing.Color.LightGray;
            textWatermarkOptions.FontFamily      = "Calibri";
            textWatermarkOptions.Layout          = WatermarkLayout.Horizontal;
            textWatermarkOptions.Semitransparent = true;

            document.WatermarkManager.SetText("CONFIDENTIAL", textWatermarkOptions);
            #endregion #CreateTextWatermark
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 上传图片
        /// </summary>
        /// <param name="file"></param>
        /// <param name="imagePath"></param>
        /// <param name="webRootPath"></param>
        /// <param name="filename"></param>
        /// <param name="useWatermark">是否使用水印,默认不启用</param>
        /// <param name="watermarkType">水印类型,txt:文字;img:图片水印</param>
        /// <param name="watermarkText">文字水印内容</param>
        /// <returns></returns>
        public static async System.Threading.Tasks.Task <string> UploadFile(IFormFile file, string imagePath, string webRootPath, string filename = "",
                                                                            bool useWatermark = false, string watermarkType = "txt", string watermarkText = "")
        {
            if (string.IsNullOrWhiteSpace(filename))
            {
                filename = DateTime.Now.Ticks.ToString();
            }
            string suffix   = file.FileName.Substring(file.FileName.LastIndexOf('.'));
            string savePath = imagePath + filename + suffix;

            if (!Directory.Exists(webRootPath + imagePath))
            {
                Directory.CreateDirectory(webRootPath + imagePath);
            }

            using (FileStream fs = new FileStream(webRootPath + savePath, FileMode.Create))
            {
                await file.CopyToAsync(fs);

                if (useWatermark)
                {
                    savePath = imagePath + "watermark/" + filename + suffix;
                    if (!Directory.Exists(webRootPath + imagePath + "watermark"))
                    {
                        Directory.CreateDirectory(webRootPath + imagePath + "watermark");
                    }
                    switch (watermarkType)
                    {
                    case "txt":        // 文字水印
                    {
                        using (var img = Image.FromStream(fs))
                        {
                            var iOps = new TextWatermarkOptions
                            {
                                TextColor = Color.FromArgb(100, Color.White),
                                Location  = TargetSpot.TopLeft,
                                FontName  = "微软雅黑",
                                FontStyle = FontStyle.Bold,
                                FontSize  = 12
                            };
                            img.AddTextWatermark(watermarkText, iOps)
                            .SaveAs($@"{webRootPath}{imagePath}watermark/{filename}{suffix}");              // 保存水印
                        }
                    }
                    break;

                    case "img":
                    {
                        using (var img = Image.FromStream(fs))
                        {
                            var iOps = new ImageWatermarkOptions
                            {
                                Location = TargetSpot.TopLeft
                            };
                            string watermarkPath = $"{ webRootPath }/Image/watermark.png";
                            var    waterImg      = Image.FromFile(watermarkPath);
                            var    tmpImg        = waterImg.Scale(img.Width / 2, img.Height / 2);
                            var    waterImgPath  = $@"{webRootPath}{imagePath}watermark/{filename}{suffix}";
                            img.AddImageWatermark(tmpImg, iOps)
                            .SaveAs(waterImgPath);              // 保存水印
                            waterImg.Dispose();
                        }
                    }
                    break;
                    }
                }
            }
            return(savePath);
        }
Ejemplo n.º 9
0
 public async Task ProcessImageAsync([FromForm] string text, [FromForm] TextWatermarkOptions options)
 {
     await _localFileStorageService.AddWatermarkAsync(text, options);
 }