在一些場合,我們往往需要使用印章來給每頁檔案加蓋一個印章,以表示該檔案經過某個部門的認證的,常規的做法就是列印檔案后蓋章,如果需要電子檔再行掃描一下,這樣的處理,如果檔案很多,且僅僅需要電子檔案的就很麻煩了,需要列印再蓋章再掃描,而且電子檔案往往有失真的問題,本篇隨筆介紹如何在在Winform程式中使用Spire.Pdf實作頁面添加印章處理,解決這一痛處,
1、在PDF增加印章處理
首先我們來了解下,用Adobe Acrobat Reader 進行檔案的印章處理下,看看如何實作的,后面再用軟體實作自動的添加,
印章的來源,我們需要一個圖片格式的印章,那么我們可以通過蓋章到白紙上,然后拍照進行摳圖,把圖片弄成PNG的透明圖片,也可以使用在線的印章生成工具生成圖片,然后在進行適當的加工,
在做圖章之前,我們先用Photoshop處理好圖片,并保存圖片為PDF格式的檔案,

首先用Adobe Acrobat Reader打開一個PDF檔案,然后找到對也給你的工具選項卡,選擇圖章功能,如下圖所示,

然后會切換到檔案的自定義圖章功能上,如下所示,

然后選擇創建自定義圖章,匯入剛才做好的PDF格式圖片印章即可,

印章創建好后,就可以在檔案中呼叫印章模板進行添加了,也就是呼叫印章調板處理,

拖動到檔案的任意位置即可實作電子印章的添加了,添加后的檔案界面效果如下所示,

2、在Winform程式中使用Spire.Pdf實作頁面添加印章處理
以上是通過手工操作,在Adobe Acrobat Reader上添加印章,并給PDF檔案指定位置添加印章的程序,這樣的處理,已經可以減少電子檔的掃描失真問題,并可以減少很多繁瑣的作業,但是如果我們每次都要給很多檔案頁面添加這樣的印章處理,也是很繁瑣的事情,那么我們這里就可以撰寫一個程式,用程式是給每個頁面指定位置蓋章即可,
我們知道Spire.Pdf是對PDF操作非常不錯的一個組件,我們可以利用它來實作我們對這些PDF創建印章和蓋章的處理程序,
我們在Winform開發框架模塊的綜合案例里面,添加一個Demo頁面,然后實作這個功能展示一下,

整個代碼其實不復雜,如下代碼所示,
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實作頁面添加印章處理,可以減輕我們實際作業的繁瑣操作,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/106181.html
標籤:WinForm
上一篇:在Winform程式中使用Spire.Pdf實作頁面添加印章處理
下一篇:C# if陳述句
