สิ่งใหม่ในรุ่นนี้

  • [Feature] รองรับและตรวจสอบลายเซ็นดิจิทัลบนภาพ (SIGNATURENET‑5528)
    แนะนำการฝังลายเซ็นดิจิทัลแบบสเตกานะกราฟีลงในไฟล์ PNG และ JPG รองรับลายเซ็นที่มีการป้องกันด้วยรหัสผ่าน การจัดการสตรีม/ไฟล์ และการตรวจสอบเต็มรูปแบบพร้อมเกณฑ์การตรวจจับแบบกำหนดค่าได้

  • [Enhancement] ปรับแต่งประสิทธิภาพของ LINQ query สำหรับการทำงานกับลายเซ็น (SIGNATURENET‑5500)
    ทำการรีแฟคเตอร์ตรรกะ LINQ ทั้งไลบรารีเพื่อลดการจัดสรรหน่วยความจำและเพิ่มความเร็วการทำงาน เพิ่มการกรองตามพรีดิกา​เตสำหรับเมธอด Search และ Verify เพื่อให้ผู้พัฒนาสามารถกรองลายเซ็นล่วงหน้าก่อนการประมวลผลที่ใช้ทรัพยากรมาก

การแก้ไขและการปรับปรุง

  • [Bug Fix] แก้ไขข้อยกเว้นประเภทเริ่มต้นของ GeneratePreview() กับรูปแบบ DOC บน Linux (SIGNATURENET‑5555)
    ข้อยกเว้นจะไม่ถูกโยงเมื่อสร้างตัวอย่างภาพสำหรับเอกสาร Microsoft Word ในสภาพแวดล้อม Linux

วิธีใช้คุณลักษณะใหม่

การลงลายเซ็นบนภาพ (สเตกานะกราฟี)

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}");
    }
}

การตรวจสอบภาพที่ลงลายเซ็นแล้ว

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.");
    }
}

การตรวจสอบขั้นสูงพร้อมการดึงข้อมูลเต็มรูปแบบ

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‑optimized พร้อมพรีดิกา​เต

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()
    };

    // กรองเฉพาะลายเซ็นข้อความที่มีคำว่า "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‑optimized พร้อมพรีดิกา​เต

using (Signature signature = new Signature("signed_document.pdf"))
{
    TextVerifyOptions verifyOptions = new TextVerifyOptions("John Smith");

    // ตรวจสอบเฉพาะลายเซ็นบนหน้า 1
    List<BaseSignature> result = signature.Verify(verifyOptions,
        sig => sig.PageNumber == 1);

    Console.WriteLine($"Found {result.Count} verified signatures on page 1");
}

วิธีรับอัพเดต

  • NuGet – อัปเกรดเป็นแพคเกจ GroupDocs.Signature ล่าสุด:
    dotnet add package GroupDocs.Signature --version 25.12
    
  • Direct Download – ดาวน์โหลดไฟล์ประกอบสำหรับ .NET จากหน้ารีลีสอย่างเป็นทางการ:
    GroupDocs.Signature for .NET 25.12 DLLs

แหล่งข้อมูล