Jsme potěšeni, že můžeme oznámit GroupDocs.Annotation pro .NET 26.10, vydanou v říjnu 2026. Jedná se o vydání zaměřené na bezpečnost: dokumenty již nečtou vzdálené obrázky, stylové listy ani propojené soubory samy, a noví členové LoadOptions vám umožní přesně rozhodnout, co může být načteno. Vydání také aktualizuje podkladové enginy dokumentů, aktualizuje zranitelnou závislost a opravuje několik problémů.
Co je nového v tomto vydání
| Klíč | Kategorie | Shrnutí |
|---|---|---|
| ANNOTATIONNET-2663 | ⚠️ Vylepšení | Externí zdroje již nejsou načítány ve výchozím nastavení (nové ovládací prvky LoadOptions) |
| ANNOTATIONNET-2687 | ✨ Vylepšení | Aktualizace podkladových enginů dokumentů |
| ANNOTATIONNET-2672 | 🔒 Bezpečnost | Aktualizace System.Security.Cryptography.Pkcs na 8.0.2 (CVE-2026-84008 / CVE-2026-70162) |
| ANNOTATIONNET-2102 | 🔧 Oprava | Oprava FileTypeNotSupportedException při extrahování anotací z EML dokumentů |
| ANNOTATIONNET-1903 | 🔧 Oprava | Oprava dokumentů anotovaných staršími verzemi, které se neotevíraly v .NET 8 |
| ANNOTATIONNET-2689 | 🔧 Oprava | Oprava ztráty otočení PDF stránky o 90 stupňů při uložení |
Externí zdroje již nejsou načítány ve výchozím nastavení
Dokument může odkazovat na zdroje mimo sebe: <img src="https://..."> v HTML stránce nebo těle e‑mailu, propojený obrázek ve Word dokumentu, vzdálený stylový list nebo externí odkaz na sešit. Dosud otevírání, náhled nebo ukládání takového dokumentu způsobovalo, že GroupDocs.Annotation požadoval tyto zdroje ze sítě nebo sdíleného souboru.
Na serveru, který zpracovává nedůvěryhodné dokumenty, představuje toto riziko zneužití požadavku na straně serveru (SSRF): dokument by mohl přimět server volat interní adresy a cesta UNC by mohla uniknout Windows přihlašovací údaje procesu.
Od verze 26.10 jsou externí zdroje ve výchozím nastavení přeskočeny pro dokumenty Word, HTML, e‑mail, prezentace a tabulky:
- Žádné požadavky. Pro zdroje odkazované v dokumentu není proveden žádný síťový ani souborový požadavek v žádné operaci:
Get,Add,Save,GeneratePreviewaGetDocumentInfo. - Prázdné zástupce. Přeskočený obrázek je vykreslen jako průhledný zástupce a původní odkaz zůstane v uloženém dokumentu.
- Vložený obsah stále funguje. Části
cid:v e‑mailu,data:URI a vložené obrázky jsou vždy načteny. - Obrázkové anotace nejsou ovlivněny.
ImageAnnotation.ImagePathje stále načítán z URL.
Jedná se o změnu chování. Pokud vaše dokumenty spoléhají na vykreslování vzdálených obrázků nebo stylových listů, povolte je explicitně pomocí nových členů LoadOptions:
| Člen | Výchozí | Popis |
|---|---|---|
SkipExternalResources |
true |
Přeskočit externí zdroje. Nastavte na false pro obnovení chování před verzí 26.10. |
WhitelistedResources |
empty | Hostitelská jména nebo absolutní URI prefixy, které jsou načteny i když jsou zdroje přeskočeny. |
ExternalResourceHandler |
null |
Voláno pro každý externí zdroj; může jej povolit, přeskočit nebo dodat jeho obsah. |
Povolte pouze důvěryhodné hosty (doporučeno):
LoadOptions loadOptions = new LoadOptions
{
// SkipExternalResources zůstává true (výchozí)
WhitelistedResources = { "cdn.example.com", "https://intranet.example.com/images/" }
};
using (Annotator annotator = new Annotator("input.html", loadOptions))
{
annotator.Save("output.html"); // načtou se jen obrázky ze dvou povolených umístění
}
Prozkoumejte, povolte nebo nahraďte každý zdroj pomocí handleru:
class AuditingResourceHandler : ExternalResourceHandler
{
public override void OnLoading(ExternalResourceLoadingArgs args)
{
Console.WriteLine($"{args.Uri}: {(args.Skipped ? "skipped" : "loaded")}");
// poskytněte lokální kopii místo přístupu k síti
if (args.Uri == "https://example.com/logo.png")
args.Data = File.ReadAllBytes("logo.png");
}
}
Aktualizované enginy dokumentů
Zabalené enginy pro zpracování textu, tabulek, prezentací, PDF, diagramů, e‑mailů, obrazování, CAD a grafické vykreslování jsou aktualizovány na říjnová vydání 2026. Regenerované dokumenty a náhledy stránek se mohou mírně lišit na úrovni bajtů nebo pixelů, přičemž vizuálně zůstávají ekvivalentní.
Pro projekty .NET 6 a .NET 8 nyní runtime balíčky závisí na SkiaSharp 4.152.1. Pokud váš projekt přímo odkazuje na SkiaSharp 3.x, aktualizujte jej na 4.x.
Bezpečnostní aktualizace
Enginy dokumentů přinášejí System.Security.Cryptography.Pkcs 8.0.0 nebo 8.0.1, které jsou postiženy CVE-2026-84008 a CVE-2026-70162. GroupDocs.Annotation nyní ve všech cílových frameworkách odkazuje na opravenou 8.0.2. Žádné změny kódu nejsou vyžadovány.
Opravy
- EML ze streamu. EML zpráva začínající
MIME-Version: 1.0byla detekována jako MHT archiv a její otevření ze streamu vyvolaloFileTypeNotSupportedException. Takové zprávy se nyní otevírají stejným způsobem ze streamu i ze souboru a MHT soubory jsou nyní podporovány jako e‑mailové dokumenty. - Starší dokumenty v .NET 8. Dokumenty anotované verzemi před 26.6 selhaly při otevření v .NET 8 s
NotSupportedException. Nyní se otevírají: staré anotace jsou přeskočeny s varováním v logu a nové anotace lze přidávat a ukládat. Související problém s opětovně uloženými prezentacemi (PPTX), jejichž anotace nebylo možné načíst, je opraven na všech frameworkech. - Otočení PDF o 90 stupňů. Otočení PDF stránky pomocí
Annotator.Rotationfungovalo pro 180 a 270 stupňů, ale otočení o 90 stupňů bylo při uložení ztraceno. Nyní je zachováno pro každý úhel:
using (Annotator annotator = new Annotator("input.pdf"))
{
annotator.ProcessPages = 1; // stránka k otočení
annotator.Rotation = RotationDocument.on90; // dříve ignorováno
annotator.Save("output.pdf");
}
Změny veřejného API
Vydání přidává následující členy:
LoadOptions.SkipExternalResourcesLoadOptions.WhitelistedResourcesLoadOptions.ExternalResourceHandlerExternalResourceHandlertřídaExternalResourceLoadingArgstřída
Žádní veřejní členové nebyli odebráni ani změněni.
Jak získat aktualizaci
NuGet
Nainstalujte nebo aktualizujte na GroupDocs.Annotation 26.10.0 pomocí NuGet. Balíček automaticky vyřeší runtime balíček pro váš cílový framework (.NET Framework 4.6.2, .NET 6 nebo .NET 8):
dotnet add package GroupDocs.Annotation --version 26.10.0
Přímé stažení
Stáhněte vydání ze stránky GroupDocs.Annotation for .NET 26.10.