Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
PdfFileSignature класс позволяет вам добавлять подпись в PDF файл. Вам нужно создать объект класса PdfFileSignature с использованием входных и выходных PDF файлов. Вам также нужно создать объект Rectangle, в который вы хотите добавить подпись, и для настройки внешнего вида вы можете указать изображение, используя свойство SignatureAppearance объекта PdfFileSignature. Aspose.Pdf.Facades также предоставляет различные виды подписей, такие как PKCS#1, PKCS#7 и PKCS#7Detached. Чтобы создать подпись конкретного типа, вам нужно создать объект определенного класса, такого как PKCS1, PKCS7 или PKCS7Detached, используя файл сертификата и пароль.
После создания объекта конкретного типа подписи вы можете использовать метод Sign класса PdfFileSignature для подписания PDF и передать конкретный объект подписи в этот класс. Вы также можете указать другие атрибуты для этого метода. Наконец, вам нужно сохранить подписанный PDF, используя метод Save класса PdfFileSignature. Следующий фрагмент кода показывает, как добавить подпись в PDF файл.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddPdfFileSignature()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
pdFileSignature.BindPdf(dataDir + "input.pdf");
// Create a rectangle for signature location
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(10, 10, 300, 50);
// Set signature appearance
pdFileSignature.SignatureAppearance = dataDir + "aspose-logo.png";
// Create any of the three signature types
var signature = new PKCS1(dataDir + "rsa_cert.pfx", "12345"); // PKCS#1
pdFileSignature.Sign(1, "I'm document author", "test01@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect, signature);
// Save PDF document
pdFileSignature.Save(dataDir + "DigitallySign_out.pdf");
}
}
Следующий пример кода демонстрирует возможность подписания документа с двумя подписями. В нашем примере мы ставим первую подпись на первой странице, а вторую на второй странице. Вы можете указать страницы, которые вам нужны.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddTwoSignature()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
pdFileSignature.BindPdf(dataDir + "input.pdf");
// Create a rectangle for 1st signature location
System.Drawing.Rectangle rect1 = new System.Drawing.Rectangle(10, 10, 300, 50);
// Create 1st signature object
var signature1 = new Aspose.Pdf.Forms.PKCS1(dataDir + "rsa_cert.pfx", "12345"); // PKCS#1
pdFileSignature.Sign(1, "I'm document author", "test@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect1, signature1);
pdFileSignature.Save(dataDir + "DigitallySign_out.pdf");
// Sign with 2nd signature
// Bind PDF document
pdFileSignature.BindPdf(dataDir + "DigitallySign_out.pdf");
// Create a rectangle for 2nd signature location
System.Drawing.Rectangle rect2 = new System.Drawing.Rectangle(10, 10, 300, 50);
// Create 2nd signature object
var signature2 = new Aspose.Pdf.Forms.PKCS1(dataDir + "rsa_cert.pfx", "12345"); // PKCS#1
pdFileSignature.Sign(2, "I'm document reviewer", "test02@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect2, signature2);
// Save PDF document
pdFileSignature.Save(dataDir + "DigitallySign2_out.pdf");
}
}
Для документа с формами или акроформами, который необходимо подписать, смотрите следующий пример. Вам нужно создать объект класса PdfFileSignature с использованием входных и выходных PDF файлов. Используйте BindPdf для связывания. Создайте подпись с возможностью добавления необходимых свойств. В нашем примере это ‘Причина’ и ‘ПользовательскийВид’.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddPdfFileSignatureField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
pdFileSignature.BindPdf(dataDir + "input.pdf");
// Create any of the three signature types
var signature = new Aspose.Pdf.Forms.PKCS1(dataDir + "rsa_cert.pfx", "12345")
{
Reason = "Sign as Author",
CustomAppearance = new Aspose.Pdf.Forms.SignatureCustomAppearance
{
FontSize = 6,
FontFamilyName = "Calibri"
}
}; // PKCS#1
pdFileSignature.Sign("Signature1", signature);
// Save PDF document
pdFileSignature.Save(dataDir + "DigitallySign_out.pdf");
}
}
Если в нашем документе есть два поля, алгоритм его подписания аналогичен первому примеру.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddPdfFileSignatureField2()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
using (var pdFileSignature = new Aspose.Pdf.Facades.PdfFileSignature())
{
// Bind PDF document
pdfFileSignature.BindPdf(dataDir + "input.pdf");
// Create any of the three signature types
var signature1 = new Aspose.Pdf.Forms.PKCS1(dataDir + "rsa_cert.pfx", "12345")
{
Reason = "Sign as Author",
CustomAppearance = new Aspose.Pdf.Forms.SignatureCustomAppearance
{
FontSize = 6
}
}; // PKCS#1
pdFileSignature.Sign("Signature1", signature1);
// Save PDF document
pdFileSignature.Save(dataDir + "DigitallySign_out.pdf");
// Bind PDF document
pdFileSignature.BindPdf(dataDir + "DigitallySign_out.pdf");
// Create any of the three signature types
var signature2 = new Aspose.Pdf.Forms.PKCS1(dataDir + "rsa_cert.pfx", "12345")
{
Reason = "Sign as Reviwer",
CustomAppearance = new SignatureCustomAppearance
{
FontSize = 6
}
}; // PKCS#1
pdFileSignature.Sign("Signature2", signature2);
// Save PDF document
pdFileSignature.Save(dataDir + "DigitallySign2_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.