[.Net C#]利用iTextSharp在PDF上新增浮水印(WaterMark)

31 篇文章 0 订阅
public void Watermark(string inputPath, string outputPath, string watermarkPath)        
{  
    try
    {  
        PdfReader reader = new PdfReader(inputPath);
        iTextSharp.text.Document document = new iTextSharp.text.Document();
        PdfWriter writer = PdfWriter.GetInstance(document,new FileStream(outputPath, FileMode.Create));   
        Watermark watermark = new Watermark(iTextSharp.text.Image.GetInstance(watermarkPath), 255, 785);

        document.Add(watermark);
        document.Open();
        PdfContentByte cb = writer.DirectContent;   
        PdfImportedPage newPage; 
        int iPageNum = reader.NumberOfPages;   
        for(int j=1; j<= iPageNum;j++)    
        { 
            document.NewPage();   
            newPage = writer.GetImportedPage(reader,j);   
            cb.AddTemplate(newPage,0,0); 
        }    
        document.Close();   
        writer.Close();
        reader.Close();
    }  
    catch (Exception ex)  
    {
        WriteLog.Log(ex.ToString());
        throw ex;
    }
}


转自(http://www.dotblogs.com.tw/kiwifruit0612/archive/2009/08/17/10103.aspx)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,我并不是一个可以展示代码的应用程序,也无法进行详细的教学。但我可以给你一些指导: iTextSharp 是一个用于创建和操作 PDF 文件C# 库。它可以用来添加水印、文本、图片和表单域等元素到 PDF 文件中。 下面是一个简单的示例,展示如何使用 iTextSharpPDF 文件中添加一个文本水印: ```csharp using iTextSharp.text; using iTextSharp.text.pdf; // 打开需要添加水印的 PDF 文件 PdfReader reader = new PdfReader("input.pdf"); // 创建一个输出流,用于将修改后的 PDF 写入文件 PdfStamper stamper = new PdfStamper(reader, new FileStream("output.pdf", FileMode.Create)); // 创建一个字体对象,用于设置水印的字体和大小 BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); Font font = new Font(bf, 48); // 在 PDF 的每个页面上添加一个文本水印 int pageCount = reader.NumberOfPages; for (int i = 1; i <= pageCount; i++) { // 获取该页面的 PDF 内容 PdfContentByte content = stamper.GetUnderContent(i); // 创建一个列对象,用于设置水印的位置和旋转角度 ColumnText column = new ColumnText(content); // 设置水印的位置和旋转角度 column.SetSimpleColumn(new Phrase("水印文本", font), 0, 0, 0, 0, 0, Element.ALIGN_CENTER); // 设置水印的旋转角度 column.Alignment = Element.ALIGN_CENTER; column.SetTextMatrix(30, 30); column.Angle = 45; // 将水印添加到页面中 column.Go(); } // 关闭输出流和输入流 stamper.Close(); reader.Close(); ``` 这是一个简单的示例,仅用于演示如何使用 iTextSharp 添加水印。如果你需要更详细的教程或更复杂的功能,请参考 iTextSharp 的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值