เรามีความยินดีที่จะแจ้งให้ทราบว่า GroupDocs.Annotation for .NET 26.10 ได้รับการปล่อยในเดือนตุลาคม 2026 รุ่นนี้มุ่งเน้นด้านความปลอดภัย: เอกสารจะไม่ดึงรูปภาพระยะไกล, แผ่นสไตล์ หรือไฟล์ที่เชื่อมโยงโดยอัตโนมัติอีกต่อไป และสมาชิกใหม่ของ LoadOptions ให้คุณกำหนดได้อย่างแม่นยำว่าควรโหลดอะไรบ้าง รุ่นนี้ยังอัปเกรดเอนจินเอกสารพื้นฐาน, ปรับปรุงการพึ่งพาที่มีช่องโหว่และแก้ไขปัญหาต่าง ๆ

มีอะไรใหม่ในรุ่นนี้

คีย์ ประเภท สรุป
ANNOTATIONNET-2663 ⚠️ การปรับปรุง ทรัพยากรภายนอกจะไม่ถูกโหลดโดยค่าเริ่มต้น (การควบคุม LoadOptions ใหม่)
ANNOTATIONNET-2687 ✨ การปรับปรุง อัปเกรดเอนจินเอกสารพื้นฐาน
ANNOTATIONNET-2672 🔒 ความปลอดภัย อัปเดต System.Security.Cryptography.Pkcs เป็น 8.0.2 (CVE-2026-84008 / CVE-2026-70162)
ANNOTATIONNET-2102 🔧 การแก้ไข แก้ไข FileTypeNotSupportedException เมื่อสกัด anotations จากเอกสาร EML
ANNOTATIONNET-1903 🔧 การแก้ไข แก้ไขเอกสารที่มี anotations จากเวอร์ชันเก่าที่ไม่สามารถเปิดได้บน .NET 8
ANNOTATIONNET-2689 🔧 การแก้ไข แก้ไขการสูญเสียการหมุนหน้า PDF 90 องศาเมื่อบันทึก

ทรัพยากรภายนอกจะไม่ถูกโหลดโดยค่าเริ่มต้น

เอกสารสามารถอ้างอิงทรัพยากรภายนอกได้: <img src="https://..."> ในหน้า HTML หรือเนื้อหาอีเมล, รูปภาพที่เชื่อมโยงในเอกสาร Word, แผ่นสไตล์ระยะไกล หรือการเชื่อมโยง workbook ภายนอก จนถึงตอนนี้ การเปิด, แสดงตัวอย่าง หรือบันทึกเอกสารดังกล่าวทำให้ GroupDocs.Annotation เรียกขอทรัพยากรเหล่านั้นจากเครือข่ายหรือไฟล์แชร์

บนเซิร์ฟเวอร์ที่ประมวลผลเอกสารที่ไม่ได้รับความเชื่อถือ สิ่งนี้เป็นความเสี่ยง การปลอมแปลงคำขอฝั่งเซิร์ฟเวอร์ (SSRF): เอกสารอาจทำให้เซิร์ฟเวอร์เรียกที่อยู่ภายใน, และเส้นทาง UNC อาจทำให้ข้อมูลประจำตัว Windows ของกระบวนการรั่วไหล

ตั้งแต่เวอร์ชัน 26.10, ทรัพยากรภายนอกจะถูกข้ามโดยค่าเริ่มต้น สำหรับเอกสารประเภท Word‑processing, HTML, e‑mail, presentation และ spreadsheet:

  • ไม่มีการร้องขอ ไม่ได้ทำการร้องขอเครือข่ายหรือไฟล์แชร์สำหรับทรัพยากรที่อ้างอิงโดยเอกสารในทุกการดำเนินการ: Get, Add, Save, GeneratePreview และ GetDocumentInfo.
  • ตัวแทนว่าง รูปภาพที่ถูกข้ามจะถูกแสดงเป็นตัวแทนโปร่งใส, และลิงก์เดิมจะถูกเก็บไว้ในเอกสารที่บันทึก.
  • เนื้อหาที่ฝังอยู่ยังทำงาน ส่วน cid: ของอีเมล, URI data: และรูปภาพที่ฝังอยู่จะถูกโหลดเสมอ.
  • การ anotations ของรูปภาพไม่ถูกกระทบ ImageAnnotation.ImagePath ยังคงถูกโหลดจาก URL.

นี่คือการเปลี่ยนแปลงพฤติกรรม หากเอกสารของคุณพึ่งพาการแสดงรูปภาพหรือแผ่นสไตล์ระยะไกล ให้เปิดใช้งานอย่างชัดเจนด้วยสมาชิกใหม่ของ LoadOptions:

สมาชิก ค่าเริ่มต้น คำอธิบาย
SkipExternalResources true ข้ามทรัพยากรภายนอก ตั้งค่าเป็น false เพื่อคืนสภาพพฤติกรรมก่อนเวอร์ชัน 26.10.
WhitelistedResources empty ชื่อโฮสต์หรือคำนำหน้า URI แบบเต็มที่ยังคงโหลดแม้เมื่อข้ามทรัพยากร.
ExternalResourceHandler null ถูกเรียกสำหรับทุกทรัพยากรภายนอก; สามารถอนุญาต, ข้าม หรือให้เนื้อหาได้.

อนุญาตเฉพาะโฮสต์ที่เชื่อถือได้เท่านั้น (แนะนำ):

LoadOptions loadOptions = new LoadOptions
{
    // SkipExternalResources stays true (the default)
    WhitelistedResources = { "cdn.example.com", "https://intranet.example.com/images/" }
};

using (Annotator annotator = new Annotator("input.html", loadOptions))
{
    annotator.Save("output.html"); // only images from the two whitelisted locations are loaded
}

ตรวจสอบ, อนุญาต หรือแทนที่แต่ละทรัพยากรด้วยตัวจัดการ:

class AuditingResourceHandler : ExternalResourceHandler
{
    public override void OnLoading(ExternalResourceLoadingArgs args)
    {
        Console.WriteLine($"{args.Uri}: {(args.Skipped ? "skipped" : "loaded")}");

        // serve a local copy instead of going to the network
        if (args.Uri == "https://example.com/logo.png")
            args.Data = File.ReadAllBytes("logo.png");
    }
}

อัปเกรดเอนจินเอกสาร

เอนจินการประมวลผลคำ, สเปรดชีต, พรีเซนเทชัน, PDF, ไดอะแกรม, อีเมล, ภาพ, CAD และการเรนเดอร์กราฟิกที่รวมอยู่ในชุดถูกอัปเดตเป็นเวอร์ชันเดือนตุลาคม 2026 เอกสารที่สร้างใหม่และตัวอย่างหน้าจะอาจแตกต่างกันเล็กน้อยในระดับไบต์หรือพิกเซล แต่ยังคงเทียบเท่าทางภาพ

สำหรับโครงการ .NET 6 และ .NET 8 แพ็กเกจ runtime ตอนนี้ขึ้นอยู่กับ SkiaSharp 4.152.1 หากโครงการของคุณอ้างอิง SkiaSharp 3.x โดยตรง ให้ปรับเป็น 4.x

การอัปเดตด้านความปลอดภัย

เอนจินเอกสารนำเข้า System.Security.Cryptography.Pkcs เวอร์ชัน 8.0.0 หรือ 8.0.1 ซึ่งได้รับผลกระทบจาก CVE‑2026‑84008 และ CVE‑2026‑70162 GroupDocs.Annotation ตอนนี้อ้างอิงเวอร์ชันที่แก้ไข 8.0.2 บนทุก target framework ไม่จำเป็นต้องเปลี่ยนโค้ด

การแก้ไข

  • EML จากสตรีม ข้อความ EML ที่เริ่มต้นด้วย MIME-Version: 1.0 ถูกตรวจจับเป็นไฟล์ MHT, และการเปิดจากสตรีมทำให้เกิด FileTypeNotSupportedException ข้อความเหล่านี้ตอนนี้เปิดได้ทั้งจากสตรีมและไฟล์, และ ไฟล์ MHT ตอนนี้รองรับ เป็นเอกสารอีเมล
  • เอกสารเก่าบน .NET 8 เอกสารที่มี anotations จากเวอร์ชันก่อน 26.6 ไม่สามารถเปิดได้บน .NET 8 ด้วย NotSupportedException ตอนนี้เปิดได้: anotations เก่าจะถูกข้ามพร้อมคำเตือนในล็อก, และสามารถเพิ่มและบันทึก anotations ใหม่ได้ ปัญหาที่เกี่ยวข้องกับการบันทึกพรีเซนเทชัน (PPTX) ที่ anotations ไม่สามารถอ่านกลับได้ก็ได้รับการแก้ไขบนทุก framework
  • การหมุน PDF 90 องศา การหมุนหน้ากระดาษ PDF ด้วย Annotator.Rotation ทำงานสำหรับ 180 และ 270 องศา, แต่การหมุน 90 องศาถูกละทิ้งเมื่อบันทึก ตอนนี้จะคงไว้สำหรับทุกมุม:
using (Annotator annotator = new Annotator("input.pdf"))
{
    annotator.ProcessPages = 1;                 // the page to rotate
    annotator.Rotation = RotationDocument.on90; // previously ignored
    annotator.Save("output.pdf");
}

การเปลี่ยนแปลง API สาธารณะ

รุ่นนี้เพิ่มสมาชิกต่อไปนี้:

ไม่มีสมาชิกสาธารณะใดถูกลบหรือเปลี่ยนแปลง

วิธีรับการอัปเดต

NuGet

ติดตั้งหรืออัปเกรดเป็น GroupDocs.Annotation 26.10.0 ด้วย NuGet แพ็กเกจจะจัดการ resolve แพ็กเกจ runtime ให้กับ target framework ของคุณโดยอัตโนมัติ (.NET Framework 4.6.2, .NET 6 หรือ .NET 8):

dotnet add package GroupDocs.Annotation --version 26.10.0

ดาวน์โหลดโดยตรง

ดาวน์โหลดรุ่นจากหน้า GroupDocs.Annotation for .NET 26.10

แหล่งข้อมูล