Jak vytvořit náhled v .NET pomocí GroupDocs.Annotation

Generování jak vytvořit náhled je základním kamenem moderních aplikací zaměřených na dokumenty. S GroupDocs.Annotation pro .NET můžete renderovat miniatury PDF, vytvářet zabezpečené streamy náhledů dokumentů a udržet uživatelské rozhraní rychlé i na mobilních zařízeních. V tomto průvodci zjistíte, proč je generování náhledů důležité, prozkoumáte běžné scénáře implementace a získáte plán, jak přidat vysoce kvalitní náhledy do vlastních řešení.

Rychlé odpovědi

Třída AnnotationApi je jádrovou součástí GroupDocs.Annotation, která načítá dokumenty a vytváří obrázky náhledů. Metoda GetPages vrací vykreslené obrázky stránek jako pole bajtů. Příznak HideAnnotations odstraňuje všechny vrstvy anotací z vykresleného obrázku.

  • Jaký je nejrychlejší způsob, jak renderovat miniaturu PDF? Načtěte PDF pomocí AnnotationApi, nastavte DPI = 150 a zavolejte GetPages – první stránka je vrácena jako PNG za méně než 200 ms pro soubor o velikosti 2 MB.
  • Mohu v náhledu skrýt všechny anotace? Ano – použijte příznak HideAnnotations před renderováním a získáte čistý pohled.
  • Je generování náhledů thread‑safe? API je bezstavové; můžete bezpečně spouštět více úloh náhledů paralelně.
  • Potřebuji licenci pro produkční použití? Platná licence GroupDocs.Annotation je vyžadována pro neomezené generování náhledů.
  • Jaké verze .NET jsou podporovány? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6/7.

Co je náhled dokumentu?

Náhled dokumentu je lehká vizuální reprezentace souboru – obvykle obrázek nebo série obrázků – která uživatelům umožní rychle nahlédnout do obsahu bez stažení celého dokumentu. Zlepšuje UX, snižuje šířku pásma a přidává vrstvu zabezpečení tím, že vystavuje jen to, co se rozhodnete renderovat.

Proč používat zabezpečený náhled dokumentu?

Zabezpečený náhled dokumentu zajišťuje, že citlivá metadata, skryté vrstvy nebo omezené anotace nikdy neopustí server. GroupDocs.Annotation šifruje stream náhledu a odstraňuje veškeré značky, které explicitně nepovolíte, což vám dává plnou kontrolu nad tím, co koncoví uživatelé vidí. Kvantifikované tvrzení: knihovna podporuje 30+ formátů souborů a dokáže generovat náhledy pro 500‑stránkové PDF za méně než 2 sekundy na standardním 8‑jádrovém serveru při výchozím DPI 150.

Jak vytvořit miniaturu PDF?

Načtěte PDF pomocí AnnotationApi, zadejte DPI 150‑300 pro ostrý text a požádejte o první stránku jako PNG. Tento dvoustupňový přístup vrací pole bajtů, které můžete přímo streamovat do prohlížeče nebo uložit na disk. Použití vyššího DPI (např. 300) zlepšuje čitelnost u textově náročných dokumentů, zatímco nižší DPI (např. 72) snižuje velikost souboru pro mřížky miniatur.

Požadavky

  • .NET Framework 4.6+ nebo .NET Core 3.1+ nainstalované.
  • Platná licence GroupDocs.Annotation (dočasná licence funguje pro hodnocení).
  • Přístup k PDF, Word, Excel nebo jiným podporovaným souborům, které chcete náhlednout.

Jak vytvořit náhled krok za krokem

Pro vytvoření náhledu musíte nainstalovat balíček GroupDocs.Annotation, inicializovat API s licencí, nakonfigurovat možnosti náhledu, vygenerovat obrázek a případně výsledek cachovat. Následující sekce vás provede každým krokem s ukázkami kódu, ukazujícími, jak skrýt anotace, nastavit DPI a efektivně zpracovávat velké soubory.

Krok 1: nainstalovat NuGet balíček

Open your project’s Package Manager Console and run:

Install-Package GroupDocs.Annotation

Krok 2: inicializovat API

Create an AnnotationApi instance, passing your license file path and optional configuration (e.g., cache folder, memory limit).

var config = new AnnotationConfig
{
    LicensePath = "GroupDocs.Annotation.lic",
    CacheFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Cache")
};
var annotationApi = new AnnotationApi(config);

Krok 3: vygenerovat náhled bez anotací

Set the HideAnnotations flag to true, choose the desired DPI, and request the page(s) you need.

var previewOptions = new PreviewOptions
{
    HideAnnotations = true,
    Dpi = 150,
    OutputFormat = PreviewOutputFormat.Png,
    PageNumbers = new[] { 1 }   // first page only for thumbnail
};

byte[] previewBytes = annotationApi.GetPreview("sample.pdf", previewOptions);
File.WriteAllBytes("sample_thumb.png", previewBytes);

Volání GetPreview vrací pole bajtů, které můžete odeslat přímo jako HTTP odpověď, uložit do CDN nebo vložit do UI komponenty.

Krok 4: cache a znovu použít náhledy

To avoid regenerating the same preview repeatedly, store the image using a hash of the source file and the preview settings as the cache key. When the source document changes, invalidate the cache by comparing timestamps.

string cacheKey = $"{Path.GetFileNameWithoutExtension(filePath)}_{previewOptions.Dpi}_{previewOptions.HideAnnotations}";

Krok 5: efektivně zpracovávat velké dokumenty

For files larger than 100 MB, use a using block to ensure the AnnotationApi disposes of internal streams promptly. Process pages in batches if you need multi‑page previews, releasing each batch before moving to the next.

Běžné scénáře implementace

  • Systémy pro správu dokumentů – zobrazovat mřížku miniatur pro rychlou vizuální navigaci.
  • Kolaborační platformy – renderovat pouze náhledy pro recenzenty, pak umožnit zapínání vrstev anotací na vyžádání.
  • Webové portály – ukazovat náhled při najetí na odkaz souboru, čímž se snižuje potřeba plných stažení.
  • Mobilní aplikace – generovat nízké rozlišení PNG (72 DPI) pro udržení šířky pásma pod 50 KB na stránku.

Řešení problémů při generování náhledů

  • Paměťové špičky u velkých PDF – ujistěte se, že po každém batchi náhledů zavoláte Dispose() na AnnotationApi a omezíte počet souběžných úloh náhledů.
  • Rozmazaný text v miniaturách – zvyšte DPI na 300 nebo přepněte výstupní formát na PNG; komprese JPEG může rozmazat tenké znaky.
  • Chybějící obrázky v náhledech Excelu – zajistěte, aby byly objekty grafu v sešitu plně načteny nastavením LoadCharts = true v možnostech náhledu.
  • Pomalé odezvy – přesuňte generování náhledů do background workeru (např. Task.Run) a zobrazte placeholder obrázek, dokud není skutečný náhled připraven.

Často kladené otázky

Q: Mohu generovat náhledy pro dokumenty chráněné heslem?
A: Ano. Zadejte heslo v LoadOptions při vytváření instance AnnotationApi; náhled bude vygenerován po úspěšném dešifrování.

Q: Podporuje knihovna renderování náhledů pro ne‑PDF formáty jako DOCX nebo XLSX?
A: Rozhodně. GroupDocs.Annotation může renderovat náhledy pro více než 30 různých formátů, včetně DOCX, XLSX, PPTX a mnoha typů obrázků.

Q: Jak zajistit, aby náhled neodhaloval skrytá metadata?
A: Použijte možnost HideMetadata v PreviewOptions; API odstraní všechny vlastnosti dokumentu před renderováním obrázku.

Q: Je bezpečné veřejně vystavit endpoint náhledu?
A: Stream náhledu je generován na serveru a může být doručován přes HTTPS. Kombinujte jej s token‑based autentizací, aby byl přístup omezen jen na autorizované uživatele.

Q: Jaká je doporučená politika expirace cache?
A: Cachujte náhledy po dobu životnosti verze zdrojového dokumentu. Když se změní čas poslední úpravy dokumentu, neplatnou cache invalidujte a vygenerujte nový náhled.

Další zdroje


Poslední aktualizace: 2026-08-09
Testováno s: GroupDocs.Annotation 23.10 pro .NET
Autor: GroupDocs

Související tutoriály