轉(zhuǎn)帖|使用教程|編輯:龔雪|2020-10-09 10:00:06.347|閱讀 386 次
概述:本文將為大家介紹如何在在Winform程序中使用Spire.Pdf實現(xiàn)頁面添加印章處理,解決電子文檔在掃描過程中出現(xiàn)的失真等問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress Winforms Controls 內(nèi)置140多個UI控件和庫,完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序。DevExpress WinForm v20.1全新發(fā)布,想要體驗?點擊下載>>
在一些場合,我們往往需要使用印章來給每頁文檔加蓋一個印章,以表示該文檔經(jīng)過某個部門的認(rèn)證的,常規(guī)的做法就是打印文檔后蓋章,如果需要電子檔再行掃描一下。這樣的處理,如果文檔很多,且僅僅需要電子文檔的就很麻煩了,需要打印再蓋章再掃描,而且電子文檔往往有失真的問題。本文將為大家介紹如何在在Winform程序中使用Spire.Pdf實現(xiàn)頁面添加印章處理,解決這一痛處。
首先我們來了解下,用Adobe Acrobat Reader 進(jìn)行文檔的印章處理下,看看如何實現(xiàn)的,后面再用軟件實現(xiàn)自動的添加。
印章的來源,我們需要一個圖片格式的印章。那么我們可以通過蓋章到白紙上,然后拍照進(jìn)行摳圖,把圖片弄成PNG的透明圖片,也可以使用在線的印章生成工具生成圖片,然后在進(jìn)行適當(dāng)?shù)募庸ぁ?
在做圖章之前,我們先用Photoshop處理好圖片,并保存圖片為PDF格式的文件。
首先用Adobe Acrobat Reader打開一個PDF文檔,然后找到對也給你的工具選項卡,選擇圖章功能,如下圖所示。
然后會切換到文檔的自定義圖章功能上,如下所示。
然后選擇創(chuàng)建自定義圖章,導(dǎo)入剛才做好的PDF格式圖片印章即可。
印章創(chuàng)建好后,就可以在文檔中調(diào)用印章模板進(jìn)行添加了,也就是調(diào)用印章調(diào)板處理。
拖動到文檔的任意位置即可實現(xiàn)電子印章的添加了,添加后的文檔界面效果如下所示。
以上是通過手工操作,在Adobe Acrobat Reader上添加印章,并給PDF文檔指定位置添加印章的過程,這樣的處理,已經(jīng)可以減少電子檔的掃描失真問題,并可以減少很多繁瑣的工作。但是如果我們每次都要給很多文檔頁面添加這樣的印章處理,也是很繁瑣的事情,那么我們這里就可以編寫一個程序,用程序是給每個頁面指定位置蓋章即可。
我們知道Spire.Pdf是對PDF操作非常不錯的一個組件,我們可以利用它來實現(xiàn)我們對這些PDF創(chuàng)建印章和蓋章的處理過程。
我們在Winform開發(fā)框架模塊的綜合案例里面,添加一個Demo頁面,然后實現(xiàn)這個功能展示一下。
整個代碼其實不復(fù)雜,如下代碼所示。
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實現(xiàn)頁面添加印章處理,可以減輕我們實際工作的繁瑣操作。
本文轉(zhuǎn)載自
DevExpress技術(shù)交流群2:775869749 歡迎一起進(jìn)群討論
富文本控件難上手?這堂公開課你一定不能錯過,不同視圖不同應(yīng)用場景全解!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: