在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

作者:伍华聪 时间:2022-05-29 16:57:27 

在一些场合,我们往往需要使用印章来给每页文档加盖一个印章,以表示该文档经过某个部门的认证的,常规的做法就是打印文档后盖章,如果需要电子档再行扫描一下。这样的处理,如果文档很多,且仅仅需要电子文档的就很麻烦了,需要打印再盖章再扫描,而且电子文档往往有失真的问题。本篇随笔介绍如何在在Winform程序中使用Spire.Pdf实现页面添加印章处理,解决这一痛处。

1、在PDF增加印章处理

首先我们来了解下,用Adobe Acrobat Reader 进行文档的印章处理下,看看如何实现的,后面再用软件实现自动的添加。

印章的来源,我们需要一个图片格式的印章。那么我们可以通过盖章到白纸上,然后拍照进行抠图,把图片弄成PNG的透明图片,也可以使用在线的印章生成工具生成图片,然后在进行适当的加工。

在做图章之前,我们先用Photoshop处理好图片,并保存图片为PDF格式的文件。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

首先用Adobe Acrobat Reader打开一个PDF文档,然后找到对也给你的工具选项卡,选择图章功能,如下图所示。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

然后会切换到文档的自定义图章功能上,如下所示。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

然后选择创建自定义图章,导入刚才做好的PDF格式图片印章即可。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

印章创建好后,就可以在文档中调用印章模板进行添加了,也就是调用印章调板处理。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

拖动到文档的任意位置即可实现电子印章的添加了,添加后的文档界面效果如下所示。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

2、在Winform程序中使用Spire.Pdf实现页面添加印章处理

以上是通过手工操作,在Adobe Acrobat Reader上添加印章,并给PDF文档指定位置添加印章的过程,这样的处理,已经可以减少电子档的扫描失真问题,并可以减少很多繁琐的工作。但是如果我们每次都要给很多文档页面添加这样的印章处理,也是很繁琐的事情,那么我们这里就可以编写一个程序,用程序是给每个页面指定位置盖章即可。

我们知道Spire.Pdf是对PDF操作非常不错的一个组件,我们可以利用它来实现我们对这些PDF创建印章和盖章的处理过程。

我们在Winform开发框架模块的综合案例里面,添加一个Demo页面,然后实现这个功能展示一下。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

整个代码其实不复杂,如下代码所示。


private void btnAddImageSign_Click(object sender, EventArgs e)
{
 string signPdf = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Examples/PdfDemo/TestSign2.pdf");
 string signImage = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Examples/PdfDemo/印章.png");

PdfDocument doc = new PdfDocument();
 doc.LoadFromFile(signPdf);

//每页都添加印章
 foreach (PdfPageBase page in doc.Pages)
 {
 PdfRubberStampAnnotation loStamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(400, 600), new SizeF(120, 120)));
 PdfAppearance loApprearance = new PdfAppearance(loStamp);
 PdfImage image = PdfImage.FromFile(signImage);

PdfTemplate template = new PdfTemplate(160, 160);
 template.Graphics.DrawImage(image, 0, 0);
 loApprearance.Normal = template;
 loStamp.Appearance = loApprearance;

page.AnnotationsWidget.Add(loStamp);
 }

//保存文档
 var fileSave = FileDialogHelper.SavePdf("ImageStamp.pdf", System.AppDomain.CurrentDomain.BaseDirectory);
 if(!string.IsNullOrEmpty(fileSave))
 {
 doc.SaveToFile(fileSave);
 Process.Start(fileSave);
 }
}

最后页面的效果如下所示,在每页的指定位置,都盖章我们的印章了。

在Winform程序中使用Spire.Pdf实现页面添加印章功能的实现

以上处理,就是在Winform程序中使用Spire.Pdf实现页面添加印章处理,可以减轻我们实际工作的繁琐操作。

来源:https://www.cnblogs.com/wuhuacong/archive/2020/09/22/13712543.html

标签:Winform,Spire.Pdf,页面,印章
0
投稿

猜你喜欢

  • JVM常量池的深入讲解

    2021-09-13 15:54:00
  • hibernate4基本配置方式详解

    2023-03-11 11:07:43
  • Java集合继承体系详解

    2023-12-03 00:22:13
  • SpringBoot中的Condition包下常用条件依赖注解案例介绍

    2023-05-29 11:42:17
  • Unity EasyTouch摇杆插件使用示例详解

    2023-01-26 17:09:17
  • 浅谈java的守护线程与非守护线程

    2023-11-25 06:50:23
  • android 6.0 写入SD卡的权限申请实例讲解

    2023-07-27 03:12:37
  • javafx实现时钟效果

    2022-09-10 02:23:31
  • 解决RabbitMq消息队列Qos Prefetch消息堵塞问题

    2021-11-17 17:36:13
  • idea搭建SSM框架遇踩的坑(附完整过程)

    2023-06-23 09:53:07
  • 值得收藏的2017年Java开发岗位面试题

    2023-11-29 15:22:01
  • Java 程序设计总复习题(java基础代码)

    2022-05-11 07:02:31
  • java基于netty NIO的简单聊天室的实现

    2023-11-18 15:29:43
  • 详解Java动态字节码技术

    2022-06-20 03:20:20
  • Java进程cpu占用过高问题解决

    2021-08-09 00:16:59
  • C#装箱和拆箱原理详解

    2021-12-29 16:07:26
  • 详解Java实现设计模式之责任链模式

    2023-11-08 10:32:07
  • Spring IOC与DI核心重点分析

    2023-11-12 14:35:55
  • Java 数据结构与算法系列精讲之环形链表

    2023-04-27 22:37:07
  • c#项目将dll打包到exe中的步骤

    2021-06-21 14:44:25
  • asp之家 软件编程 m.aspxhome.com