如何使用C#在PDF文件添加图片印章
投稿:mdxy-dxy
文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性。C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述如何以编程的方式在PDF文件中添加图片印章
文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性。C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述如何以编程的方式在PDF文件中添加图片印章。
具体步骤如下:
在此之前,我们需要添加dll文件作为引用。添加引用 → 浏览 → Spire.XLS folder → Bin → .NET 2.0/3.5/4.0/4.5/4.0 ClientProfile → Spire.XLS.dll.
第一步:首先新建一个PDF文档对象并加载要添加印章的文档。
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"E:\Visual Studio\Sample\template7\sample.pdf");
第二步:获取文档的第一页。
PdfPageBase page = doc.Pages[0];
第三步:新建一个PdfRubberStampAnnotation对象,指定其注释的范围和大小。
PdfRubberStampAnnotation loStamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(-5,-5), new SizeF(60, 60)));
第四步:实例化一个PdfAppearance对象。
PdfAppearance loApprearance = new PdfAppearance(loStamp);
第五步:加载用作印章的图片。
PdfImage image = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\sample.jpg");
第六步:新建一个PDF模板,并在模板里绘制图片。
PdfTemplate template = new PdfTemplate(160, 160); template.Graphics.DrawImage(image, 0, 0); loApprearance.Normal = template; loStamp.Appearance = loApprearance;
第7步:在PDF文档添加印章。
page.AnnotationsWidget.Add(loStamp);
第八步:保存文档。
string output = "ImageStamp.pdf"; doc.SaveToFile(output);
运行前的pdf文档:
运行后的pdf文档:
全部代码:
using System; using System.Drawing; using System.Windows.Forms; using Spire.Pdf; using Spire.Pdf.Annotations; using Spire.Pdf.Annotations.Appearance; using Spire.Pdf.Graphics; namespace addanimagestamptoaPDF_file { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"E:\Visual Studio\Sample\template7\sample.pdf"); PdfPageBase page = doc.Pages[0]; PdfRubberStampAnnotation loStamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(-5, -5), new SizeF(60, 60))); PdfAppearance loApprearance = new PdfAppearance(loStamp); PdfImage image = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\sample.jpg"); PdfTemplate template = new PdfTemplate(160, 160); template.Graphics.DrawImage(image, 0,0); loApprearance.Normal = template; loStamp.Appearance = loApprearance; page.AnnotationsWidget.Add(loStamp); string output = "ImageStamp.pdf"; doc.SaveToFile(output); } } }
通过此组件,我们除了可以快速地在PDF文件中添加图片印章,还可以在PDF文件中添加图片和文字水印以及添加图片背景,可以参考一下,也许对你有帮助。谢谢浏览。