Tambahkan Tanda Tangan di File PDF
Tambahkan Tanda Tangan Digital di File PDF
Kelas PdfFileSignature memungkinkan Anda untuk menambahkan tanda tangan di file PDF.
Setelah objek dari tipe tanda tangan tertentu dibuat, Anda dapat menggunakan metode [Sign](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdffilesignature/methods/sign/index) dari kelas [PdfFileSignature](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdffilesignature) untuk menandatangani PDF dan meneruskan objek tanda tangan tertentu ke kelas ini. Anda juga dapat menentukan atribut lain untuk metode ini. Akhirnya, Anda perlu menyimpan PDF yang telah ditandatangani menggunakan metode [Save](https://reference.aspose.com/pdf/net/aspose.pdf/document/methods/save/index) dari kelas [PdfFileSignature](https://reference.aspose.com/pdf/net/aspose.pdf.facades/pdffilesignature). Cuplikan kode berikut menunjukkan cara menambahkan tanda tangan dalam file PDF.
```csharp
public static void AddPdfFileSignature()
{
PdfFileSignature pdfSign = new PdfFileSignature();
pdfSign.BindPdf(_dataDir + "sample01.pdf");
// Buat persegi panjang untuk lokasi tanda tangan
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(10, 10, 300, 50);
// Atur tampilan tanda tangan
pdfSign.SignatureAppearance = _dataDir + "aspose-logo.png";
// Buat salah satu dari tiga jenis tanda tangan
PKCS1 signature = new PKCS1(_dataDir + "test01.pfx", "Aspose2021"); // PKCS#1
pdfSign.Sign(1, "I'm document author", "test01@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect, signature);
// Simpan file PDF keluaran
pdfSign.Save(_dataDir + "DigitallySign.pdf");
}
Contoh kode berikut menunjukkan kemampuan untuk menandatangani dokumen dengan dua tanda tangan. Dalam contoh kami, kami meletakkan tanda tangan pertama di halaman pertama, dan tanda tangan kedua di halaman kedua. Anda dapat menentukan halaman yang Anda butuhkan.
public static void AddTwoSignature()
{
PdfFileSignature pdfSign = new PdfFileSignature();
// Tanda tangan dengan tanda tangan pertama
pdfSign.BindPdf(_dataDir + "sample01.pdf");
// Buat persegi panjang untuk lokasi tanda tangan pertama
System.Drawing.Rectangle rect1 = new System.Drawing.Rectangle(10, 10, 300, 50);
// Buat objek tanda tangan pertama
PKCS1 signature1 = new PKCS1(_dataDir + "test01.pfx", "Aspose2021"); // PKCS#1
pdfSign.Sign(1, "Saya penulis dokumen", "test@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect1, signature1);
pdfSign.Save(_dataDir + "DigitallySign.pdf");
// Tanda tangan dengan tanda tangan kedua
pdfSign.BindPdf(_dataDir + "DigitallySign.pdf");
// Buat persegi panjang untuk lokasi tanda tangan kedua
System.Drawing.Rectangle rect2 = new System.Drawing.Rectangle(10, 10, 300, 50);
// Buat objek tanda tangan kedua
PKCS1 signature2 = new PKCS1(_dataDir + "test02.pfx", "Aspose2021"); // PKCS#1
pdfSign.Sign(2, "Saya peninjau dokumen", "test02@aspose-pdf-demo.local", "Aspose Pdf Demo, Australia", true, rect2, signature2);
// Simpan file PDF keluaran
pdfSign.Save(_dataDir + "DigitallySign.pdf");
}
Untuk dokumen dengan formulir atau acroforms yang perlu ditandatangani, lihat contoh berikut. Anda perlu membuat objek dari kelas PdfFileSignature menggunakan file PDF input dan output. Gunakan BindPdf untuk mengikat. Buat tanda tangan dengan kemampuan untuk menambahkan properti yang diperlukan. Dalam contoh kami, mereka adalah ‘Reason’ dan ‘CustomAppearance’.
public static void AddPdfFileSignatureField()
{
PdfFileSignature pdfSign = new PdfFileSignature();
pdfSign.BindPdf(_dataDir + "sample02.pdf");
// Buat salah satu dari tiga jenis tanda tangan
PKCS1 signature = new PKCS1(_dataDir + "test02.pfx", "Aspose2021")
{
Reason = "Tandatangan sebagai Penulis",
CustomAppearance = new SignatureCustomAppearance
{
FontSize = 6,
FontFamilyName = "Calibri"
}
}; // PKCS#1
pdfSign.Sign("Signature1", signature);
// Simpan file PDF output
pdfSign.Save(_dataDir + "DigitallySign.pdf");
}
Jika dokumen kita memiliki dua bidang, algoritma untuk menandatanganinya mirip dengan contoh pertama.
public static void AddPdfFileSignatureField2()
{
PdfFileSignature pdfSign = new PdfFileSignature();
pdfSign.BindPdf(_dataDir + "sample03.pdf");
// Buat salah satu dari tiga jenis tanda tangan
PKCS1 signature1 = new PKCS1(_dataDir + "test01.pfx", "Aspose2021")
{
Reason = "Tandatangan sebagai Penulis",
CustomAppearance = new SignatureCustomAppearance
{
FontSize = 6
}
}; // PKCS#1
pdfSign.Sign("Signature1", signature1);
// Simpan file PDF keluaran
pdfSign.Save(_dataDir + "DigitallySign.pdf");
pdfSign.BindPdf(_dataDir + "DigitallySign.pdf");
// Buat salah satu dari tiga jenis tanda tangan
PKCS1 signature2 = new PKCS1(_dataDir + "test02.pfx", "Aspose2021")
{
Reason = "Tandatangan sebagai Peninjau",
CustomAppearance = new SignatureCustomAppearance
{
FontSize = 6
}
}; // PKCS#1
pdfSign.Sign("Signature2", signature2);
// Simpan file PDF keluaran
pdfSign.Save(_dataDir + "DigitallySign.pdf");
}