เรามีความยินดีที่จะแจ้งให้ทราบว่า 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:ของอีเมล, URIdata:และรูปภาพที่ฝังอยู่จะถูกโหลดเสมอ. - การ 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 สาธารณะ
รุ่นนี้เพิ่มสมาชิกต่อไปนี้:
LoadOptions.SkipExternalResourcesLoadOptions.WhitelistedResourcesLoadOptions.ExternalResourceHandlerExternalResourceHandlerclassExternalResourceLoadingArgsclass
ไม่มีสมาชิกสาธารณะใดถูกลบหรือเปลี่ยนแปลง
วิธีรับการอัปเดต
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