您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)C#中怎么給PDF 添加可視化和不可見數(shù)字簽名,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
鼠標右鍵點擊“引用”,“管理Nuget包”
點擊“瀏覽”,在搜索框中輸入“Spire.PDF ”,點擊選擇搜索到的包,點擊“安裝”。
在彈出的窗口點擊“OK”
等待安裝完成。安裝結(jié)果如圖:
C#
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Interactive.DigitalSignatures; using System.Drawing; using System.Security.Cryptography.X509Certificates; namespace VisibleDigitalSignature { class Program { static void Main(string[] args) { //加載PDF測試文檔 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("test.pdf"); //獲取PDF文檔中的第5頁 PdfPageBase page = pdf.Pages[4]; //在頁面中的指定位置添加可視化簽名 X509Certificate2 x509 = new X509Certificate2("cer.pfx", "e-iceblue"); PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, x509); IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance(); signatureMaker.MakeSignature("signName_" , page, page.ActualSize.Width-240,page.ActualSize.Height-200,150,150, signatureAppearance); //保存文檔 pdf.SaveToFile("VisibleDigitalSignature.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("VisibleDigitalSignature.pdf"); pdf.Close(); } public class PdfCustomSignatureAppearance : IPdfSignatureAppearance { public void Generate(PdfCanvas g) { float fontSize = 15; PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", fontSize), true); float lineHeight = fontSize; g.DrawString("Sign Here:", font, PdfBrushes.Black, new PointF(0, 0)); g.DrawImage(PdfImage.FromFile("sign.png"), new PointF(20, 20)); } } } }
Vb.net
Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports Spire.Pdf.Interactive.DigitalSignatures Imports System.Drawing Imports System.Security.Cryptography.X509Certificates Namespace VisibleDigitalSignature Class Program Private Shared Sub Main(args As String()) '加載PDF測試文檔 Dim pdf As New PdfDocument() pdf.LoadFromFile("test.pdf") '獲取PDF文檔中的第5頁 Dim page As PdfPageBase = pdf.Pages(4) '在頁面中的指定位置添加可視化簽名 Dim x509 As New X509Certificate2("cer.pfx", "e-iceblue") Dim signatureMaker As New PdfOrdinarySignatureMaker(pdf, x509) Dim signatureAppearance As IPdfSignatureAppearance = New PdfCustomSignatureAppearance() signatureMaker.MakeSignature("signName_", page, page.ActualSize.Width - 240, page.ActualSize.Height - 200, 150, 150, _ signatureAppearance) '保存文檔 pdf.SaveToFile("VisibleDigitalSignature.pdf", FileFormat.PDF) System.Diagnostics.Process.Start("VisibleDigitalSignature.pdf") pdf.Close() End Sub Public Class PdfCustomSignatureAppearance Implements IPdfSignatureAppearance Public Sub Generate(g As PdfCanvas) Dim fontSize As Single = 15 Dim font As New PdfTrueTypeFont(New Font("Arial", fontSize), True) Dim lineHeight As Single = fontSize g.DrawString("Sign Here:", font, PdfBrushes.Black, New PointF(0, 0)) g.DrawImage(PdfImage.FromFile("sign.png"), New PointF(20, 20)) End Sub End Class End Class End Namespace
可視化數(shù)字簽名效果:
C#
using Spire.Pdf; using Spire.Pdf.Interactive.DigitalSignatures; using System.Security.Cryptography.X509Certificates; namespace InvisibleDigitalSignature { class Program { static void Main(string[] args) { //初始化一個PdfDocument實例 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.LoadFromFile("test.pdf"); //添加簽名 X509Certificate2 x509 = new X509Certificate2("cer.pfx", "e-iceblue"); PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, x509); signatureMaker.MakeSignature("signName"); signatureMaker.SetLocation("Chengdu"); signatureMaker.SetReason("Edit limited"); //保存文檔 pdf.SaveToFile("result.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("result.pdf"); } } }
Vb.net
Imports Spire.Pdf Imports Spire.Pdf.Interactive.DigitalSignatures Imports System.Security.Cryptography.X509Certificates Namespace InvisibleDigitalSignature Class Program Private Shared Sub Main(args As String()) '初始化一個PdfDocument實例 Dim pdf As New PdfDocument() '加載PDF文檔 pdf.LoadFromFile("test.pdf") '添加簽名 Dim x509 As New X509Certificate2("cer.pfx", "e-iceblue") Dim signatureMaker As New PdfOrdinarySignatureMaker(pdf, x509) signatureMaker.MakeSignature("signName") signatureMaker.SetLocation("Chengdu") signatureMaker.SetReason("Edit limited") '保存文檔 pdf.SaveToFile("result.pdf", FileFormat.PDF) System.Diagnostics.Process.Start("result.pdf") End Sub End Class End Namespace
不可見數(shù)字簽名效果:
上述就是小編為大家分享的C#中怎么給PDF 添加可視化和不可見數(shù)字簽名了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。