W poprzednim poście omówiliśmy, jak wyodrębnić obrazy z dokumentów w Javie. Dzisiaj będziemy dążyć do osiągnięcia tego samego celu przy użyciu języka C#. Nie martw się, jeśli nie odwiedziłeś ostatniego postu. W tym artykule nauczymy się programowo wyodrębniać obrazy z dokumentów PDF, Excel, PowerPoint i Word w aplikacji C# przy użyciu interfejsu API platformy .NET do analizowania dokumentów.

Zostaną tutaj omówione następujące tematy:
- Interfejs API .NET do wyodrębniania obrazów, tekstu i metadanych
- Ekstrakcja obrazu z dokumentów PDF
- Wyodrębnij obrazy z dokumentów Word, Excel, PowerPoint
- Wyodrębnij obraz z określonej strony
- Obsługiwane formaty wyodrębniania obrazu
Interfejs API .NET do wyodrębniania obrazów, tekstu i metadanych

GroupDocs.Parser for .NET to API .NET do analizowania dokumentów i ekstrakcji danych. Obsługuje parsowanie dokumentów i wyodrębnianie obrazów, tekstu i metadanych z dokumentów edytorów tekstu, arkuszy kalkulacyjnych, prezentacji, archiwów i dokumentów e-mail. Na końcu artykułu wspomniano o formatach dokumentów obsługiwanych przez API do wyodrębniania obrazów.
W tym artykule będziemy używać tego API, więc polecam pobranie jego binariów lub zainstalowanie API z NuGet w celu przygotowania środowiska.
Wyodrębnij obrazy z dokumentów PDF w C#

Możesz łatwo odzyskać wszystkie obrazy z dowolnego dokumentu PDF, wykonując te proste kroki.
- Utwórz instancję obiektu klasy Parser z dokumentem źródłowym.
- Wywołaj metodę GetImages klasy Parser, aby pobrać kolekcję wszystkich obrazów w obiektach PageImageArea.
- Iteruj po PageImageArea, aby uzyskać każdy obraz.
- Zapisz obrazy na dysku przy użyciu metody Save PageImageArea.
Wyodrębnione obrazy można zapisać w formatach BMP, GIF, JPEG, PNG i WebP. Cały kod pokazano poniżej, aby zademonstrować wszystkie kroki.
// Wyodrębnij obrazy z programów Word, Excel, PPT, PDF w C# przy użyciu GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iteruj po pobranych obrazach
foreach (PageImageArea image in images)
{
// Zapisz obraz i wydrukuj indeks strony, prostokąt i typ obrazu:
Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}

Ekstrakcja obrazu z plików Word, Excel, PowerPoint w C#
Nie ograniczając się tylko do formatu PDF, możemy pobrać wszystkie obrazy z dokumentów edytorów tekstu, arkuszy kalkulacyjnych, prezentacji, z niezmienioną bazą kodu. Po prostu zmień ścieżkę dokumentu źródłowego z rozszerzeniem pliku, dokument zostanie przeanalizowany w celu wyodrębnienia i zapisania wszystkich obrazów na dysku.
using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document
Wyodrębnij obrazy z określonej strony dokumentu w C#
Jeśli chcesz wyodrębnić obrazy z określonej strony dokumentu, możesz to łatwo zrobić, korzystając z poniższych kroków i kodu C#.
- Uzyskaj informacje o dokumencie za pomocą metody GetDocumentInfo.
- Z informacji o dokumencie wyjmij całkowitą liczbę PageCount i inne informacje.
- Użyj metody GetImages(pageIndex) i przekaż jej indeks strony docelowej.
- Aby zapisać pobrane obrazy, przejrzyj kolekcję obrazów i zapisz pojedynczy obraz za pomocą metody Save.
// Wyodrębnij obrazy z określonej strony programów Word, Excel, PowerPoint, PDF w języku C# za pomocą GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
// Uzyskaj informacje o dokumencie
IDocumentInfo documentInfo = parser.GetDocumentInfo();
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iteruj po stronach
for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
{
// Wydrukuj numer strony
Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
// Iteruj po obrazach. Ignorowanie kontroli zerowej w przykładzie
foreach (PageImageArea image in parser.GetImages(pageIndex))
{
// Wydrukuj prostokąt i typ obrazu
Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
imageNumber++;
}
}
}
Obsługiwane formaty wyodrębniania obrazów w języku C#
Poniżej przedstawiono formaty dokumentów obsługiwane przez interfejs API GroupDocs.Parser for .NET na potrzeby wyodrębniania obrazów.
Typ dokumentu | Formaty plików |
---|---|
Dokumenty edytora tekstu | DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF |
Arkusze kalkulacyjne | XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, LICZBY |
Prezentacje | PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP |
Dokumenty przenośne | |
e-maile | EML, EMLX, MSG |
Archiwa | Kod pocztowy |
Więcej o GroupDocs.Parser
- Dokumentacja
- Przykłady kodu źródłowego
- Odniesienie do interfejsu API
- Rodzina (Interfejsy API lokalne| Interfejsy API chmury | Bezpłatna aplikacja online
Porozmawiajmy jeszcze trochę @ Free Support Forum