C# 利用itextsharp、Spire配合使用为pdf文档每页添加水印
下载类库:
引入类库

功能实现
using iTextSharp.text.pdf;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.Windows.Forms;
using PdfDocument = Spire.Pdf.PdfDocument;
using PdfFont = Spire.Pdf.Graphics.PdfFont; namespace ProcessPdfDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Button1_Click(object sender, EventArgs e)
{
string fileName = @"C:\Users\Administrator\Desktop\图纸\WH440-H111-F01_111分段结构图.pdf";
//创建一个新的PDF实例,导入PDF文件
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(fileName);
PdfPageBase pb = pdf.Pages.Add(); //新增一页
pdf.Pages.Remove(pb); //去除第一页水印
for (int i = ; i < GetPdfPageNum(fileName); i++)
{
PdfPageBase page = pdf.Pages[i];
//添加文本水印到文件的第一页,设置文本格式
PdfTilingBrush brush = new PdfTilingBrush(new SizeF(page.Canvas.ClientSize.Width / , page.Canvas.ClientSize.Height / )); //设置每行每列几个水印
brush.Graphics.SetTransparency(0.2f); //透明度
brush.Graphics.Save();
brush.Graphics.TranslateTransform(brush.Size.Width / , brush.Size.Height / );
brush.Graphics.RotateTransform(-); //旋转角度
brush.Graphics.DrawString("Draft Version", new PdfFont(PdfFontFamily.Helvetica, ), PdfBrushes.Blue, , , new PdfStringFormat(PdfTextAlignment.Center));
brush.Graphics.Restore();
brush.Graphics.SetTransparency();
page.Canvas.DrawRectangle(brush, new RectangleF(new PointF(, ), page.Canvas.ClientSize));
}
//保存文件
pdf.SaveToFile(@"C:\Users\Administrator\Desktop\图纸\2222.pdf");
MessageBox.Show("ok");
}
/// <summary>
/// 获取pdf页数
/// </summary>
/// <param name="pdfFile"></param>
/// <returns></returns>
public int GetPdfPageNum(string pdfFile)
{
PdfReader reader = new PdfReader(pdfFile);
int iPageNum = reader.NumberOfPages;
reader.Close(); //不关闭会一直占用pdf资源,对接下来的操作会有影响
return iPageNum;
}
}
}
效果

C# 利用itextsharp、Spire配合使用为pdf文档每页添加水印的更多相关文章
- C# 给现有PDF文档添加页眉、页脚
概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可以呈现的内容很多,如公司名称.页码.工作表名.日期.图片,如LOGO.标记等.在之前的文章中介绍了如何通过新建一页空白PDF页来添加 ...
- [开发笔记]-C#获取pdf文档的页数
[操作pdf文档]之C#判断pdf文档的页数: /// <summary> /// 获取pdf文档的页数 /// </summary> /// <param name=& ...
- ABBYY FineReader 15 如何为PDF文档添加页眉页脚
页眉.页脚是文档页面顶部或底部重复出现的文本信息.很多用户会习惯在文档页面的顶部与底部区域添加页眉.页脚来展现页码.文档标题.作者姓名.品牌名称等附加信息.而ABBYY FineReader 15(W ...
- qt 利用 HTML 生成PDF文档,不能显示jpg图片
利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...
- [.NET开发] C# 合并、拆分PDF文档
在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输.当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档.可以任意地对文档进行合并.拆分无疑为我们了提供极 ...
- 利用ItextSharp 生成PDF文档改进版
导入的ItextSharp.dll一定要是较高的版本 数据库表结构 生成的PDF样式 代码: namespace WebPDF { public partial class _Default : Sy ...
- 利用iTextSharp组件给PDF文档添加图片水印,文字水印
最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了.以下做个记录: 首先会用到iTextSharp组件,大家可以去官网下载,同时我也会在本文中附加进来. 代码中添加引用为: using S ...
- 使用Spire PDF for .NET将HTML转换成PDF文档
目录 开发环境说明 Spire PDF for .NET (free edition)体验 资源下载 开发环境说明 Microsoft Visual Studio 2013 Ultimate Edit ...
- 【转载】 C#工具类:使用iTextSharp操作PDF文档
iTextSharp是一个用于操作PDF文件的组件DLL程序,在C#程序中可以引用iTextSharp组件,用于开发与PDF文件相关的报表等功能,利用iTextSharp组件提供出来的方法接口,我们可 ...
随机推荐
- C# 生成全球唯一标识符GUID
string strguid = Guid.NewGuid().ToString();//57d99d89-caab-482a-a0e9-a0a803eed3ba 生成标准的标志符 (36位标准)st ...
- WinForm自定义控件之DefaultValue的误解
DefaultValue,顾名思义,默认值的意思.但这个默认值不是用来显示的,它的作用是当属性设置的值(无法代码写还是属性窗口输入)与DefaultValue相同时,会区别显示,比如其它值加粗,Def ...
- git项目创建及在idea工具中使用
1.安装git管理工具 2.在自己github账号上创建一个项目仓库,比如我创建的是renrenView 网页翻译如下: 参数解析如下: 3.本地项目同步到远程仓库步骤 在本地初始化git项目 git ...
- 使用GDAL/GEOS求面特征的并集
存在这样一个示例的矢量文件,包含了两个重叠的面特征: 一个很常见的需求是求取这个矢量中所有面元素的并集,通过GDAL/GEOS很容易实现这个功能,具体代码如下: #include <iostre ...
- Python: simple code
# !/usr/bin/env python3.6 # -*- coding: utf-8 -*- # visual studio 2017 # 2019 10 12 Geovin Du print ...
- spark-3.0 application 调度算法解析
spark 各个版本的application 调度算法还是有这明显的不同之处的.从spark1.3.0 到 spark 1.6.1.spark2.0 到 现在最新的spark 3.0 ,调度算法有了一 ...
- 视频分享慕课网----Angular 打造企业级协作平台
慕课网是一个非常不错的视频学习网站,搭建搭建企业协作平台,导师由深到浅,讲解的特别好. 本课程主要学习 Angular 进阶知识点和技巧(Material.动画.依赖注入.表单控件.RxJS,Redu ...
- Spring Cloud系列:不重启eureka,清除down掉的服务
场景描述 做项目的时候,我的服务改了个ip,然后重新启动后,原ip的服务down掉了,但是没有清楚掉,还在上面,导致我用swagger测试的时候,访问不到真正up的程序.重启eureka又不划算,于是 ...
- C# net core程序调试错误集(持续更新)
目录 C#程序调试错误集 1.依赖注入错误System.InvalidOperationException: Unable to resolve service for type 'xxx' whil ...
- IDEA去除掉虚线,波浪线,和下划线实线的方法
初次安装使用IDEA,总是能看到导入代码后,出现很多的波浪线,下划线和虚线,这是IDEA给我们的一些提示和警告,但是有时候我们并不需要,反而会让人看着很不爽,这里简单记录一下自己的调整方法,供其他的小 ...