c#清除pdf水印
时间: 2023-06-29 11:07:40 浏览: 215
清除 PDF 水印需要用到一些 PDF 处理库,以下是使用 iTextSharp 库实现清除 PDF 水印的代码示例:
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
public static void RemovePdfWatermark(string inputFilePath, string outputFilePath, string watermarkText)
{
PdfReader reader = new PdfReader(inputFilePath);
int pageCount = reader.NumberOfPages;
for (int i = 1; i <= pageCount; i++)
{
PdfDictionary page = reader.GetPageN(i);
PdfArray contentArray = page.GetAsArray(PdfName.CONTENTS);
if (contentArray != null)
{
for (int j = 0; j < contentArray.Size; j++)
{
PdfObject contentObj = contentArray[j];
if (contentObj.IsStream())
{
PRStream stream = (PRStream)contentObj;
byte[] data = PdfReader.GetStreamBytes(stream);
string content = Encoding.UTF8.GetString(data);
if (content.Contains(watermarkText))
{
content = content.Replace(watermarkText, "");
stream.SetData(Encoding.UTF8.GetBytes(content));
}
}
}
}
}
PdfStamper stamper = new PdfStamper(reader, new FileStream(outputFilePath, FileMode.Create));
stamper.Close();
reader.Close();
}
其中,inputFilePath
是输入 PDF 文件路径,outputFilePath
是输出 PDF 文件路径,watermarkText
是要清除的水印文本。使用方法如下:
RemovePdfWatermark("input.pdf", "output.pdf", "watermark");
注意,iTextSharp 库需要通过 NuGet 包管理器进行安装。
相关推荐
















