logo Aspose.PDF使用教程 我也要发布文档

使用C#在PDF文件中插入或删除文本/图像水印


PDF文件中经常使用水印。只需几个简单的步骤即可在PDF文件中插入或删除文本和图像水印。同样可以轻松控制用于处理水印的许多属性。例如,不透明度,位置,旋转度,颜色,字体,图像等,等等。同样,可以使用快速API调用为水印设置许多其他属性。让我们通过以下各节进一步探讨该主题:

  • 使用C#以编程方式在PDF文件中插入文本水印
  • 使用C#以编程方式在PDF文件中插入图像水印
  • 使用C#删除PDF文件中的图像或文本水印

.NET API的Aspose.PDF可以创建,编辑和处理PDF文档,可以轻松使用在PDF文档中添加或删除水印的功能。 您可以从“新发行版”部分下载最新的DLL文件,

点击下载最新版Aspose.PDF


使用C#以编程方式在PDF文件中插入文本水印

PDF文档中经常使用文本水印来显示文档的目的或性质。例如,某些组织可能会根据文档的性质将文本水印添加为“分类”或“机密”。同样,可以控制字体大小,字体样式,颜色,旋转度,位置等。可以通过以下步骤在PDF文件中添加文本水印:

  • 加载输入的PDF文档
  • 创建TextStamp类实例
  • 设置原点和其他属性
  • 设置文本水印的图章ID,以便以后识别
  • 向特定页面添加图章
  • 保存带有文本水印的输出PDF

以下代码段说明了如何使用C#在PDF文件中添加或插入文本水印:

// Open document
Document pdfDocument = new Document(dataDir + "Input.pdf");

// Create text stamp
TextStamp textStamp = new TextStamp("CONFIDENTIAL");
// Set origin
textStamp.XIndent = 25;
textStamp.YIndent = 400;

// Set text properties
textStamp.TextState.Font = FontRepository.FindFont("Arial");
textStamp.TextState.FontSize = 72.0F;
textStamp.TextState.FontStyle = FontStyles.Italic;
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Gray);
textStamp.Opacity = 50;

// Set Stamp ID for text watermark to later identify it
textStamp.setStampId(123456);

// Add stamp to particular page
pdfDocument.Pages[1].AddStamp(textStamp);

dataDir = dataDir + "Add_Text_Watermark.pdf";
// Save output document
pdfDocument.Save(dataDir);

使用C#以编程方式在PDF文件中插入图像水印

图像包含许多有意义的信息,因此图像水印也经常在PDF文件中使用。例如,某个组织或机构发布的文档可能在页面背景中带有其徽标。您可以按照以下步骤使用使用C#在PDF文档中插入图像水印的功能:

  • 加载输入的PDF文档
  • 访问输入PDF的任何页面
  • 创建图章
  • 根据页面尺寸居中调整图像水印
  • 设置图章ID,以便以后删除水印
  • 在特定页面或所有页面上添加图章
  • 保存带有图像水印的输出PDF

下面的代码段显示了如何使用C#在PDF文件中插入图像水印:

// Load input PDF document
Document pdfDocument = new Document(dataDir + "Input.pdf");

// Access any page of the input PDF
Page testpage = pdfDocument.Pages[1];

// Create image stamp
ImageStamp imageStamp = new ImageStamp(dataDir + "aspose-logo.png");
imageStamp.Background = true;
imageStamp.Height = 300;
imageStamp.Width = 300;

// Center adjust the image watermark based on page dimensions
imageStamp.XIndent = (testpage.PageInfo.Width / 2) - (imageStamp.Width / 2);
imageStamp.YIndent = (testpage.PageInfo.Height / 2) - (imageStamp.Height / 2);
imageStamp.Opacity = 0.5;

// Set stamp id for deleting the watermark later, if required
imageStamp.setStampId(12345678);

// Add stamp to particular page
//pdfDocument.Pages[1].AddStamp(imageStamp);

// Add stamp to each page of PDF
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

dataDir = dataDir + "Add_Image_Watermark.pdf";

// Save output document
pdfDocument.Save(dataDir);

可以在屏幕截图中注意到PDF文件的居中对齐图像水印:

PDF处理控件Aspose.PDF功能演示:使用C#在PDF文件中插入或删除文本/图像水印

使用C#删除PDF文件中的图像或文本水印

可以从PDF文档中删除/删除水印。可以使用上面示例中在添加水印时设置的图章id属性来标识图像水印或文本水印。您需要按照以下步骤从PDF文件中删除水印:

  • 初始化PdfContentEditor类对象
  • 调用BindPdf方法
  • 使用特定ID删除水印
  • 保存带有去除水印的输出PDF

以下代码显示了如何从C#中的PDF文件中删除图像或文本水印:

// Initialize PdfContentEditor class object
PdfContentEditor contentEditor = new PdfContentEditor();

// Call BindPdf method
contentEditor.BindPdf(dataDir + "Watermark.pdf");

// Delete watermark using specific id
contentEditor.DeleteStampById(12345678);

// Save output PDF with removed watermark
contentEditor.Save(dataDir + @"Remove_Watermark.pdf");

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询