1. 程式人生 > 程式設計 >在Winform程式中使用Spire.Pdf實現頁面新增印章功能的實現

在Winform程式中使用Spire.Pdf實現頁面新增印章功能的實現

在一些場合,我們往往需要使用印章來給每頁文件加蓋一個印章,以表示該文件經過某個部門的認證的,常規的做法就是列印文件後蓋章,如果需要電子檔再行掃描一下。這樣的處理,如果文件很多,且僅僅需要電子文件的就很麻煩了,需要列印再蓋章再掃描,而且電子文件往往有失真的問題。本篇隨筆介紹如何在在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);
  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實現頁面新增印章處理,可以減輕我們實際工作的繁瑣操作。

到此這篇關於在Winform程式中使用Spire.Pdf實現頁面新增印章功能的實現的文章就介紹到這了,更多相關Winform實現頁面新增印章內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!