Jak zvýraznit PDF a převést na HTML pomocí GroupDocs

Zvýraznění textu uvnitř PDF a převod výsledku na stylovanou HTML stránku je běžnou požadavkem pro právní revizi, e‑learning a digitální publikování. V tomto tutoriálu objevíte how to highlight pdf soubory pomocí GroupDocs.Redaction pro .NET a poté vygenerujete zvýrazněný HTML výstup, který lze vložit do webových portálů nebo systémů pro správu výuky. Průvodce provádí nastavením prostředí, inicializací cest, generováním HTML stránky a zpracováním URL zdrojů — vše s připravenými ukázkami C#.

Rychlé odpovědi

  • Jaká knihovna zajišťuje zvýrazňování? GroupDocs.Redaction for .NET.
  • Které verze .NET jsou podporovány? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6/7.
  • Potřebuji licenci pro produkci? Ano – komerční licence odstraňuje omezení zkušební verze.
  • Mohu zpracovávat velké PDF (stovky stránek)? Ano, API streamuje stránky a používá méně než 200 MB RAM pro soubor o 500 stránkách.
  • Je výstup HTML interaktivní? Vygenerované HTML je statické, ale plně stylované; můžete přidat JavaScript pro interaktivitu.

Co je zvýraznění textu v PDF?

Zvýraznění textu v PDF je vizuální značka, která kreslí barevný překryv za vybranými znaky, čímž je zvýrazní při prohlížení dokumentu. GroupDocs.Redaction přidává tento překryv přímo do content streamu PDF, zachovává původní rozložení a zároveň zobrazí zvýraznění v exportovaném HTML.

Proč používat GroupDocs.Redaction pro .NET?

GroupDocs.Redaction podporuje více než 70 vstupních a výstupních formátů, zpracovává PDF až do 500 stránek bez načítání celého souboru do paměti a nabízí jednopasové API, které zároveň provádí redakci i zvýraznění. Tyto kvantifikované schopnosti z něj činí spolehlivou volbu pro podnikovou úroveň dokumentových pipeline.

Předpoklady

  • Vývojové prostředí: Visual Studio 2022 (nebo novější) s projektem .NET Core 3.1 / .NET 6.
  • NuGet balíček: GroupDocs.Redaction (nejnovější stabilní verze).
  • Základní znalosti: syntaxe C#, cesty v souborovém systému a základy HTML.

Jak nastavit GroupDocs.Redaction pro .NET?

Pro instalaci knihovny vyberte jednu ze tří podporovaných metod. Příkaz .NET CLI přidá balíček do souboru projektu, Package Manager Console jej integruje přes NuGet a UI poskytuje grafický způsob procházení a instalace. Všechny tři přístupy vedou ke stejnému odkazování na sestavení GroupDocs.Redaction, což vám umožní okamžitě začít kódovat.

Použití .NET CLI:

dotnet add package GroupDocs.Redaction

Použití Package Manager Console:

Install-Package GroupDocs.Redaction

Použití NuGet Package Manager UI: Vyhledejte “GroupDocs.Redaction” a klikněte na Install.

Po instalaci přidejte using direktivu na začátek vašeho C# souboru:

using GroupDocs.Redaction;

Jak funguje třída Feature_InitializeIndexedFileInfo?

Feature_InitializeIndexedFileInfo je pomocná třída, která vytváří a ukládá cesty potřebné pro cache prohlížeče a zdrojové PDF.

Třída připravuje umístění v souborovém systému, na která se spoléhá prohlížeč a generátor HTML. Vytváří vyhrazenou složku cache pro dočasné soubory, odvozuje název složky ze zdrojového PDF a ukládá absolutní cestu k originálnímu dokumentu. Tyto vlastnosti jsou vystaveny jako pouze‑ke‑čtení členy pro následné zpracování.

// ```csharp
using GroupDocs.Redaction;

// Initialize the Redactor
Redactor redactor = new Redactor("your-file-path.pdf");

Jak vygenerovat souborovou cestu HTML stránky?

Feature_GenerateHtmlPageFilePath generuje deterministické názvy souborů pro každou HTML stránku na základě čísel stránek.

Třída vytváří název souboru, který jednoznačně identifikuje každou vykreslenou stránku, pomocí jednoduchého vzoru p{pageNumber}.html. Poté kombinuje tento název s dříve vytvořenou cestou ke složce cache, aby vytvořila úplnou umístění v souborovém systému, kde lze HTML uložit. Toto deterministické pojmenování zabraňuje kolizím při zpracování více‑stránkových PDF.

// ```csharp
using System.IO;

namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
    internal class Feature_InitializeIndexedFileInfo
    {
        private readonly string _viewerCacheFolderPath;
        private readonly string _filePath;
        private readonly string _fileFolderName;
        private readonly string _fileCacheFolderPath;

        public Feature_InitializeIndexedFileInfo(string viewerCacheFolderPath, string filePath)
        {
            // Store the provided cache folder path.
            _viewerCacheFolderPath = viewerCacheFolderPath;
            
            // Store the file path.
            _filePath = filePath;
            
            // Extract and modify the file name to create a folder name.
            var fileName = Path.GetFileName(_filePath);
            _fileFolderName = fileName.Replace(".", "_");
            
            // Combine paths for cache directory.
            _fileCacheFolderPath = Path.Combine(viewerCacheFolderPath, _fileFolderName);
        }

        public string ViewerCacheFolderPath => _viewerCacheFolderPath;
        
        public string FilePath => _filePath;
        
        public string FileFolderName => _fileFolderName;
        
        public string FileCacheFolderPath => _fileCacheFolderPath;
    }
}

Jak vytvořit souborové cesty a URL zdrojů HTML stránky?

Feature_GenerateHtmlPageResourceFilePathAndUrl vytváří jak fyzickou cestu k souboru, tak odpovídající webové URL pro zdroje stránky.

Zdroje jako obrázky, fonty nebo CSS soubory vyžadují jak umístění na disku, tak URL, kterou může prohlížeč požadovat. Tato třída přijímá číslo stránky a název zdroje, poté vrací n-tici obsahující absolutní cestu v souborovém systému uvnitř složky cache a virtuální URL, kterou může mapovat webový server. Použití tohoto přístupu udržuje odkazy na zdroje konzistentní napříč vygenerovanými stránkami.

// ```csharp
using System.IO;

namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
    internal class Feature_GenerateHtmlPageFilePath
    {
        private readonly string _fileCacheFolderPath;

        public Feature_GenerateHtmlPageFilePath(string fileCacheFolderPath)
        {
            // Initialize with cache folder path.
            _fileCacheFolderPath = fileCacheFolderPath;
        }

        public string GetHtmlPageFilePath(int pageNumber)
        {
            // Create a page-specific HTML file name.
            string pageFileName = $"p{pageNumber}.html";
            
            // Combine paths for the full file location.
            string pageFilePath = Path.Combine(_fileCacheFolderPath, pageFileName);
            return pageFilePath;
        }
    }
}

Praktické aplikace

  1. Právní revize dokumentů: Zvýrazněte klauzule, exportujte do HTML a nechte právníky komentovat v prohlížeči.
  2. Obsah e‑learningu: Převést anotované přednáškové PDF do interaktivních webových stránek s prohledávatelnými zvýrazněními.
  3. Digitální publikování: Vytvořit web‑připravené verze časopisů, kde zvýrazněné úryvky upoutají pozornost čtenářů.

Tyto scénáře těží z high‑performance streamingu, který GroupDocs.Redaction poskytuje, což vám umožní zpracovat tisíce dokumentů denně.

Časté problémy a řešení

ProblémPříčinaŘešení
Zvýraznění se v HTML neobjevujeChybí CSS třída v generované stránceZajistěte, aby byl odkaz na highlight.css prohlížeče, nebo vložte stylový blok ručně.
Chyba nedostatek paměti u velkých PDFPoužití Document.Load bez streamováníPoužijte RedactorOptions s EnableStreaming = true.
URL zdrojů vrací 404Nesprávná konfigurace základní URLNastavte RedactionViewerOptions.BaseUrl na kořen složky s vašimi statickými soubory.

Často kladené otázky

Q: Mohu zvýraznit více sekcí v jednom PDF najednou?
A: Ano. Předávejte kolekci objektů RedactionRegion metodě Redactor.Apply a každá oblast bude zvýrazněna ve stejné operaci.

Q: Podporuje API zvýrazňování na základě klíčových slov?
A: Ano. Použijte Redactor.Search k nalezení všech výskytů termínu a poté aplikujte zvýrazňovací redakci na získané oblasti.

Q: Je vygenerované HTML interaktivní (např. klik‑pro‑navigaci)?
A: Výchozí výstup je statický, ale můžete po generování vložit JavaScript pro přidání navigace, tooltipů nebo vlastních obslužných funkcí kliknutí.

Q: Jak mohu změnit barvu zvýraznění?
A: Upravte CSS třídu .redaction-highlight v exportovaném HTML nebo nastavte vlastnost HighlightColor na RedactionOptions před aplikací.

Q: Bude to fungovat pro PDF větší než 1 GB?
A: Ano, pokud povolíte streamování a přidělíte dostatečný dočasný diskový prostor; API nikdy nenačítá celý dokument do RAM.

Závěr

Nyní máte kompletní, připravený workflow pro how to highlight pdf soubory a jejich převod na zvýrazněné HTML stránky pomocí GroupDocs.Redaction pro .NET. Inicializací informací o indexovaných souborech, generováním deterministických HTML cest a zpracováním URL zdrojů můžete tuto řešení integrovat do libovolného .NET‑založeného systému správy dokumentů, portálu pro právní revizi nebo platformy e‑learningu.


Poslední aktualizace: 2026-08-20
Testováno s: GroupDocs.Redaction 23.12 for .NET
Autor: GroupDocs

using System.IO;

namespace GroupDocs.Search.Examples.CSharp.HighlightInHtml
{
    internal class Feature_GenerateHtmlPageResourceFilePathAndUrl
    {
        private readonly string _fileCacheFolderPath;

        public Feature_GenerateHtmlPageResourceFilePathAndUrl(string fileCacheFolderPath)
        {
            // Initialize with the cache folder path.
            _fileCacheFolderPath = fileCacheFolderPath;
        }

        public string GetHtmlPageResourceFilePath(int pageNumber, string resourceFileName)
        {
            // Construct a unique name for resources.
            string resFileName = GetResourceFileName(pageNumber, resourceFileName);
            
            // Combine paths to form full resource path.
            string resFilePath = Path.Combine(_fileCacheFolderPath, resFileName);
            return resFilePath;
        }

        public string GetHtmlPageResourceUrl(int pageNumber, string resourceFileName)
        {
            // Generate a URL-like string for the resource.
            return GetResourceFileName(pageNumber, resourceFileName);
        }

        private static string GetResourceFileName(int pageNumber, string resourceFileName)
        {
            // Construct resource names based on page number and file name.
            var resFileName = $"p{pageNumber}_{resourceFileName}";
            return resFileName;
        }
    }
}

Související tutoriály