c#添加图片、文本水印到PDF文件

概述

一般我们在向文档添加水印时,会分为直接添加文字水印和加载图片添加图片水印两种情况。常见的,在添加文字水印时会多以声明文档版权、权威性的文字、标语或者名称等;同样的,图片水印也通常可以是某组织的LOGO、印章、或者其他能够指示性的图片等。在下面的文档中,将介绍通过C#编程来添加PDF水印的方法,包括:

1 添加文本水印

2 添加图片水印

使用工具

Spire.PDF for .NET

C#代码示例(供参考)

【示例1】添加PDF文本水印

using Spire.Pdf;
using Spire.Pdf.Annotations;
using Spire.Pdf.Annotations.Appearance;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
namespace TextWatermark
 {
  class Program
  {
     static void Main(string[] args)
     {
     //创建PdfDocument对象
     PdfDocument pdf = new PdfDocument();
     //加载现有PDF文档
     pdf.LoadFromFile("sample.pdf");
     //创建True Type字体
     PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", 20f), true);
     //水印文字
     string text = "版权所有\n侵权必究";
     //测量文字所占的位置大小,即高宽
     SizeF fontSize = font.MeasureString(text);
     //计算两个偏移量
     float offset1 = (float)(fontSize.Width * System.Math.Sqrt(2) / 4);
     float offset2 = (float)(fontSize.Height * System.Math.Sqrt(2) / 4);
     //遍历文档每一页
     foreach (PdfPageBase page in pdf.Pages)
     {
       //创建PdfTilingBrush对象
       PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.Size.Width / 2, page.Canvas.Size.Height / 2));
       //设置画刷透明度
       brush.Graphics.SetTransparency(0.8f);
       //将画刷中坐标系向右下平移
       brush.Graphics.TranslateTransform(brush.Size.Width / 2 - offset1 - offset2, brush.Size.Height / 2 + offset1 - offset2);
       //将坐标系逆时针旋转45度
       brush.Graphics.RotateTransform(-45);
       //在画刷上绘制文本
       brush.Graphics.DrawString(text, font, PdfBrushes.DarkGray, 0, 0);
       //在PDF页面绘制跟页面一样大小的矩形,并使用定义的画刷填充
       page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(0, 0), page.Canvas.Size));
      }
     //保存文档
     pdf.SaveToFile("output.pdf");
     System.Diagnostics.Process.Start("output.pdf");
    }
   }
 }

完成代码后,调试运行程序,生成文档,如下:

注:如果只想设置单页的水印效果,只需获取指定页,并添加水印效果即可。

【示例2】添加PDF图片水印

using Spire.Pdf;
using System.Drawing;
namespace ImageWaterMark
{
 class Program
   {
    static void Main(string[] args)
      {
      //创建PdfDocument对象
      PdfDocument pdf = new PdfDocument();
      //加载现有PDF文档
      pdf.LoadFromFile("sample.pdf");
      //加载图片到System.Drawing.Image对象
      Image image = Image.FromFile("logo.png");
      //遍历文档每一页
      foreach (PdfPageBase page in pdf.Pages)
      {
       //设置背景图的位置及大小
       page.BackgroundRegion = new RectangleF((page.ActualSize.Width - 250) / 2, (page.ActualSize.Height - 250) / 2, 250, 250);
       //设置背景图
       page.BackgroundImage = image;
      }
      //保存并打开文档
      pdf.SaveToFile("output.pdf");
      System.Diagnostics.Process.Start("output.pdf");
    }
   }
 }

测试结果:

以上是本次关于C#添加PDF水印的全部内容。

以上就是c#给PDF文件添加文本、图片水印的方法的详细内容,更多关于C#给PDF文件添加水印的资料请关注我们其它相关文章!

(0)

相关推荐

  • C#给PDF文件添加水印

    本文实例为大家分享了C#添加PDF文件水印的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using iTextSharp.text.html.simpleparser; using iTextSharp.text.pdf; usi

  • C#实现的pdf生成图片文字水印类实例

    本文实例讲述了C#实现的pdf生成图片文字水印类.分享给大家供大家参考,具体如下: public class PDFSetWaterMark { /// <summary> /// 创建一个显示指定图片的pdf /// </summary> /// <param name="picPdfPath"></param> /// <param name="picPath"></param> /// &

  • C#如何给PDF文件添加水印

    水印种类及功能介绍 PDF水印分为两种:文本水印和图片水印.文本水印一般被用在商业领域,提醒读者该文档是受版权保护的,其他人不能抄袭或者免费使用.除了这个特征,水印还可以用来标记这个文档 的一些基本状态信息,例如是草稿状态还是最终版本?图片水印是美化PDF文件的一个很好的选择,它可以用多彩的.独特的图片来作为PDF文件的背景.那么,怎样用编程的方式给PDF文件 添加水印呢?有很多种实现方法,其中一种最快最容易的办法也许是用第三方软件,例如Spire.PDF.本文会阐述怎样用免费的第三方软件Spi

  • c#添加图片、文本水印到PDF文件

    概述 一般我们在向文档添加水印时,会分为直接添加文字水印和加载图片添加图片水印两种情况.常见的,在添加文字水印时会多以声明文档版权.权威性的文字.标语或者名称等:同样的,图片水印也通常可以是某组织的LOGO.印章.或者其他能够指示性的图片等.在下面的文档中,将介绍通过C#编程来添加PDF水印的方法,包括: 1 添加文本水印 2 添加图片水印 使用工具 Spire.PDF for .NET C#代码示例(供参考) [示例1]添加PDF文本水印 using Spire.Pdf; using Spir

  • C#利用iTextSharp组件给PDF文档添加图片/文字水印

    最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了.以下做个记录: 首先会用到iTextSharp组件,大家可以去官网下载,同时我也会在本文中附加进来. 代码中添加引用为: using System; using System.Collections.Generic; using System.Linq; using System.Text; using iTextSharp.text.pdf; using System.IO; using iTextSharp.text; 创建一个显示

  • Java添加Word文本水印和图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire.Doc for Java (免费版) Jar导入 方法1:通过官网下载控件包.在程序下新建一个directory目录,并命名(本示例中命名为lib):将控件包lib文件夹下的jar(如下图1)复制到程序中新建的目录下. 图1: 复制jar文件后,鼠标右键点击jar文件,选择"Add as Libr

  • 如何使用C#在PDF文件添加图片印章

    文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述如何以编程的方式在PDF文件中添加图片印章. 具体步骤如下: 在此之前,我们需要添加dll文件作为引用.添加引用 → 浏览 → Spire.XLS folder → Bin → .NET 2.0/3.5/4.0/4.5/4.0 ClientProfile → Spire.XLS.dll. 第一步:首

  • Python实现批量向PDF文件添加中文水印

    目录 前言 实现步骤 完整代码 前言 可以通过设置批量PDF文件所在的路径及需要添加的水印名称可以实现批量添加PDF水印的效果. 实现思路是这样的,通过在批量PDF文件路径下面生成一个带有水印的PDF模板.最后,将批量文件的每个PDF页面和水印模板进行合并完成批量添加水印的效果. 需要注意的是批量PDF文件必须和PDF模板水印文件的大小尺寸保持一致,这个可以在代码里面调节一下就成了. 实现步骤 首先将需要添加水印的PDF文件准备好放在一个文件夹下面. 在代码中设置好PDF批量文件的路径及水印名称

  • 2行Python代码实现给pdf文件添加水印

    目录 1. 引言 2.指定水印内容输出到pdf文件 2.1 模块安装 2.2 思路 2.3 代码示例 3.水印内容批量输出到pdf文件 3.1 模块安装 3.2 思路 3.3 代码示例 4.总结 1. 引言 小屌丝:鱼哥,新年快乐! 小鱼:无事不登三宝殿,有啥事,你直说吧… 小屌丝:别说的这么直接,这大过年的… 小鱼:别整没用的,就你那点小心思,我还能不知道. 小屌丝:… 小屌丝:鄙视就鄙视,只要能帮我解决问题,我然你鄙视三连! 小鱼:…还可以这样,那你说吧,啥事? 小屌丝:就是…就是… 小鱼:

  • 使用Python操作PDF文件

    从PDF读取文本内容和从已经有的文档生成新的PDF. 需要用到的模块是PyPDF2. mstamy2/PyPDF2: A utility to read and write PDFs with Python (github.com) 同时,还要关注较新的PyPDF4包,因为它很快就会取代PyPDF2. claird/PyPDF4: A utility to read and write PDFs with Python (github.com) 也可以看看pdfrw包,它也可以执行许多与PyPD

  • Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

    本文实例讲述了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法.分享给大家供大家参考,具体如下: 前段时间买了不少书,现在手头的书籍积累的越来越多,北京这边租住的小屋子空间越来越满了.自从习惯了笔记本触摸板的手势操作之后,我偶觉得使用电脑看电子文档也挺享受的.于是想把自己的部分书籍使用手机拍照,然后合并成一个pdf文件. 最初尝试过找成熟的Windows软件,但是始终没有找到一个好用的软件.想写脚本处理,一直也没有实现.偶然查看ImageMagick软件的说明,找到了

  • Python实现PyPDF2处理PDF文件的方法示例

    实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作. 文档地址:http://pythonhosted.org/PyPDF2/ PyPDF2 安装 PyCharm 安装:File -> Default Settings -> Project Interpreter PdfFileReader 构造方法: PyPDF2.PdfFileReader(stream,strict = True,warnd

随机推荐