Portable Document Format (PDF) je populární a široce používaný formát dokumentů vyvinutý společností Adobe. Dokumenty PDF mohou obsahovat různý obsah včetně formátovaného textu, obrázků, anotací, polí formulářů atd. Programová analýza dokumentů PDF je oblíbeným případem použití a existuje několik způsobů, jak extrahovat text. Extrahování obrázků z dokumentu PDF je však složitý úkol. Tento článek ukazuje, jak snadno můžete extrahovat obrázky z dokumentů PDF programově v C#.

.NET API pro extrahování obrázků ze souborů PDF

GroupDocs.Parser for .NET API sehraje svou roli při extrakci obrázků ze souborů PDF. Spolu s PDF podporuje API analýzu a extrakci obrázků z textových dokumentů, tabulek, elektronických knih, prezentací, e-mailů, archivů ZIP a mnoha dalších formátů dokumentů.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Parser

Kroky k extrahování obrázků z dokumentu PDF pomocí C#

Podívejme se rychle krok za krokem na to, jak získat obrázky ze souboru PDF pomocí několika řádků kódu C#.

  1. Vytvořte nový projekt.
  2. Stáhněte si API, jak je uvedeno výše, nebo aktualizujte na nejnovější verzi API.
  3. Přidejte následující jmenné prostory:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Načtěte dokument PDF pomocí třídy Parser.
// Vytvořte instanci třídy Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // váš kód jde sem.
}
  1. Extrahujte obrázky z dokumentu pomocí metody GetImages.
// Extrahujte obrázky
IEnumerable<PageImageArea> images = parser.GetImages();

// Zkontrolujte, zda je podporována extrakce obrázků
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. Získejte přístup ke každému obrázku z kolekce a uložte jej pomocí metody Uložit.
// Opakujte načtené obrázky
foreach (PageImageArea image in images)
{
    // Uložit obrázky
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

Obrázky můžete uložit do různých obrázků, jako jsou JPG, PNG, BMP, WebP nebo GIF.

Kompletní kód C# – extrakce obrázků z PDF

Zde je kompletní kód, který vám umožní získat všechny obrázky ze souboru PDF.

// Extrahujte obrázky z PDF pomocí C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Zkontrolujte, zda je podporována extrakce obrazu
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Opakujte načtené obrázky
    foreach (PageImageArea image in images)
    {
        // Uložit obrázky
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

Výsledek

Ukázkový dokument PDF

PDF dokument s obrázky k extrahování.

Extrahované obrázky

extrahované obrázky z PDF.

Pokud požadujete, v samostatném článku je také vysvětleno, jak můžete Extrahovat obrázky z libovolné konkrétní stránky dokumentu PDF pomocí C#.

Přečtěte si více

Další informace o rozhraní API pro extrakci dat .NET můžete prozkoumat pomocí jeho dokumentace. Své dotazy s námi můžete sdílet také prostřednictvím našeho fóra.

Viz také