Apa yang baru di rilis ini
-
[Feature] Dukungan dan validasi tanda tangan digital pada gambar (SIGNATURENET‑5528)
Memperkenalkan penyisipan tanda tangan digital berbasis steganografi ke dalam gambar PNG dan JPG. Mendukung tanda tangan yang dilindungi kata sandi, penanganan aliran/berkas, dan verifikasi lengkap dengan ambang deteksi opsional. -
[Enhancement] Optimasi kueri LINQ untuk operasi tanda tangan (SIGNATURENET‑5500)
Logika LINQ di seluruh perpustakaan direfaktor untuk mengurangi alokasi memori dan meningkatkan kecepatan eksekusi. Menambahkan penyaringan berbasis predikat untuk metodeSearchdanVerify, memungkinkan pengembang memfilter tanda tangan sebelum pemrosesan yang mahal.
Perbaikan dan peningkatan
- [Bug Fix] Memperbaiki pengecualian penginisialisasi tipe
GeneratePreview()dengan format DOC di Linux (SIGNATURENET‑5555)
Pengecualian tidak lagi dilemparkan saat menghasilkan pratinjau untuk dokumen Microsoft Word di lingkungan Linux.
Cara menggunakan fitur baru
Menandatangani gambar (steganografi)
using GroupDocs.Signature;
using GroupDocs.Signature.Options;
string inputFile = "image.png";
string outputFile = "signed_image.png";
string password = "MySecurePassword123";
using (Signature signature = new Signature(inputFile))
{
ImageDigitalSignOptions signOptions = new ImageDigitalSignOptions
{
Password = password
};
SignResult signResult = signature.Sign(outputFile, signOptions);
if (signResult.Succeeded?.Count > 0)
{
Console.WriteLine("Image signed successfully!");
Console.WriteLine($"Signatures added: {signResult.Succeeded.Count}");
}
}
Memverifikasi gambar yang ditandatangani
using GroupDocs.Signature;
using GroupDocs.Signature.Options;
string signedFile = "signed_image.png";
string password = "MySecurePassword123";
using (Signature signature = new Signature(signedFile))
{
ImageDigitalVerifyOptions verifyOptions = new ImageDigitalVerifyOptions
{
Password = password,
DetectionThresholdPercent = 75 // optional, 0‑100%
};
VerificationResult verifyResult = signature.Verify(verifyOptions);
if (verifyResult.IsValid)
{
Console.WriteLine("Digital signature is valid!");
Console.WriteLine($"Verified signatures: {verifyResult.Succeeded.Count}");
}
else
{
Console.WriteLine("Digital signature is invalid or not found.");
}
}
Verifikasi lanjutan dengan ekstraksi data penuh
using (Signature signature = new Signature("signed_image.png"))
{
ImageDigitalVerifyOptions verifyOptions = new ImageDigitalVerifyOptions
{
Password = "MySecurePassword123",
UseFullDataExtraction = true, // maximum accuracy
DetectionThresholdPercent = 85
};
VerificationResult verifyResult = signature.Verify(verifyOptions);
if (verifyResult.IsValid && verifyOptions.DetectedProbability.HasValue)
{
Console.WriteLine($"Signature detected with {verifyOptions.DetectedProbability.Value}% probability");
}
}
Pencarian yang dioptimalkan LINQ dengan predikat
using GroupDocs.Signature;
using GroupDocs.Signature.Options;
using GroupDocs.Signature.Domain;
using (Signature signature = new Signature("document.pdf"))
{
List<SearchOptions> searchOptions = new List<SearchOptions>
{
new TextSearchOptions()
};
// Filter only text signatures containing "Approved"
SearchResult result = signature.Search(searchOptions,
sig => sig is TextSignature txt && txt.Text.Contains("Approved"));
foreach (BaseSignature sig in result.Signatures)
{
Console.WriteLine($"Found: {((TextSignature)sig).Text}");
}
}
Verifikasi yang dioptimalkan LINQ dengan predikat
using (Signature signature = new Signature("signed_document.pdf"))
{
TextVerifyOptions verifyOptions = new TextVerifyOptions("John Smith");
// Verify only signatures on page 1
List<BaseSignature> result = signature.Verify(verifyOptions,
sig => sig.PageNumber == 1);
Console.WriteLine($"Found {result.Count} verified signatures on page 1");
}
Cara mendapatkan pembaruan
- NuGet – Tingkatkan ke paket GroupDocs.Signature terbaru:
dotnet add package GroupDocs.Signature --version 25.12 - Direct Download – Unduh assembly yang telah dikompilasi untuk .NET dari halaman rilis resmi:
GroupDocs.Signature for .NET 25.12 DLLs
Sumber Daya
- Catatan Rilis Lengkap – (tautan ke halaman catatan rilis, jika tersedia)
- Dokumentasi – https://docs.groupdocs.com/signature/net/
- Forum Dukungan – https://forum.groupdocs.com/c/signature/