• C#如何在PDF文件添加图片印章


    文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性。C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF for .NET,向大家阐述如何以编程的方式在PDF文件中添加图片印章。

    具体步骤如下:

    在此之前,我们需要添加dll文件作为引用。添加引用 → 浏览 → Spire.PDF folder → Bin → .NET 2.0/3.5/4.0/4.5/4.0 ClientProfile → Spire.Pdf.dll.

    第一步:首先新建一个PDF文档对象并加载要添加印章的文档。

    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile(@"E:Visual StudioSample	emplate7sample.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:UsersAdministratorPicturessample.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文档:

    全部代码:

     1 using System;
     2 using System.Drawing;
     3 using System.Windows.Forms;
     4 using Spire.Pdf;
     5 using Spire.Pdf.Annotations;
     6 using Spire.Pdf.Annotations.Appearance;
     7 using Spire.Pdf.Graphics;
     8 
     9 namespace addanimagestamptoaPDF_file
    10 {
    11     public partial class Form1 : Form
    12     {
    13         public Form1()
    14         {
    15             InitializeComponent();
    16         }
    17 
    18         private void button1_Click(object sender, EventArgs e)
    19         {
    20            PdfDocument doc = new PdfDocument();
    21            doc.LoadFromFile(@"E:Visual StudioSample	emplate7sample.pdf");
    22   
    23            PdfPageBase page = doc.Pages[0];
    24             
    25            PdfRubberStampAnnotation loStamp = new PdfRubberStampAnnotation(new RectangleF(new PointF(-5, -5), new SizeF(60, 60)));
    26            PdfAppearance loApprearance = new PdfAppearance(loStamp);
    27            PdfImage image = PdfImage.FromFile(@"C:UsersAdministratorPicturessample.jpg");
    28  
    29            PdfTemplate template = new PdfTemplate(160, 160);
    30            template.Graphics.DrawImage(image, 0,0);
    31            loApprearance.Normal = template;
    32            loStamp.Appearance = loApprearance;
    33                
    34            page.AnnotationsWidget.Add(loStamp);
    35 
    36            string output = "ImageStamp.pdf";
    37            doc.SaveToFile(output);
    38     
    39         }
    40     }
    41 }
    View Code

    通过此组件,我们除了可以快速地在PDF文件中添加图片印章,还可以在PDF文件中添加图片和文字水印以及添加图片背景,可以参考一下,也许对你有帮助。谢谢浏览。

  • 相关阅读:
    Appium自动化环境搭建
    真机Android 8.0版本以上uiautomator定位元素-Unsupported protocol: 2/Unexpected error while obtaining UI hierarchy错误处理
    rsa非对称加密
    QT使用OpenSSL的接口实现RSA的加密解密
    lua安装后其他库使用产生问题解决方法
    log4cpp的使用描述
    std::function和std::bind
    C++11线程睡眠的方式
    高精度计时器
    如何解决TCP拆包粘包问题
  • 原文地址:https://www.cnblogs.com/Yesi/p/6141635.html
Copyright © 2020-2023  润新知