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 }
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); } }
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); }
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); }
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); }
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 }
/// <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); }
public async Task ProcessImageAsync([FromForm] string text, [FromForm] TextWatermarkOptions options) { await _localFileStorageService.AddWatermarkAsync(text, options); }