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#.
- Vytvořte nový projekt.
- Stáhněte si API, jak je uvedeno výše, nebo aktualizujte na nejnovější verzi API.
- Přidejte následující jmenné prostory:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- 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.
}
- 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;
}
- 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
Extrahované obrázky
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.