Wat is er nieuw in deze release
-
[Feature] Ondersteuning en validatie van digitale handtekeningen voor afbeeldingen (SIGNATURENET‑5528)
Introduceert steganografisch gebaseerde ingebedding van digitale handtekeningen in PNG- en JPG-afbeeldingen. Ondersteunt wachtwoordbeveiligde handtekeningen, stroom‑/bestandsafhandeling, en volledige verificatie met optionele detectiedrempels. -
[Enhancement] Optimalisatie van LINQ‑query’s voor handtekeningbewerkingen (SIGNATURENET‑5500)
Herschreven LINQ‑logica in de hele bibliotheek om geheugenallocaties te verminderen en de uitvoersnelheid te verbeteren. Voegt predikaat‑gebaseerde filtering toe voorSearch‑ enVerify‑methoden, waardoor ontwikkelaars handtekeningen vooraf kunnen filteren voordat dure verwerking plaatsvindt.
Oplossingen en verbeteringen
- [Bug Fix]
GeneratePreview()type‑initializer‑uitzondering verholpen voor DOC‑formaat op Linux (SIGNATURENET‑5555)
De uitzondering wordt niet langer gegooid bij het genereren van previews voor Microsoft Word‑documenten op Linux‑omgevingen.
Hoe de nieuwe functies te gebruiken
Een afbeelding ondertekenen (steganografie)
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}");
}
}
Een ondertekende afbeelding verifiëren
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.");
}
}
Geavanceerde verificatie met volledige gegevensextractie
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");
}
}
LINQ‑geoptimaliseerde zoekopdracht met predikaat
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}");
}
}
LINQ‑geoptimaliseerde verificatie met predikaat
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");
}
Hoe de update te verkrijgen
- NuGet – Upgrade naar het nieuwste GroupDocs.Signature‑pakket:
dotnet add package GroupDocs.Signature --version 25.12 - Direct Download – Haal de gecompileerde assemblies voor .NET op van de officiële release‑pagina:
GroupDocs.Signature for .NET 25.12 DLLs
Bronnen
- Volledige release‑notities – (link naar de release‑notitiepagina, indien beschikbaar)
- Documentatie – https://docs.groupdocs.com/signature/net/
- Ondersteuningsforum – https://forum.groupdocs.com/c/signature/