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.

Wyodrębnij obrazy z dokumentów w .NET

Zostaną tutaj omówione następujące tematy:

Interfejs API .NET do wyodrębniania obrazów, tekstu i metadanych

Analizuj dokumenty i wyodrębniaj dane w .NET

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#

Dokument PDF do wyodrębniania obrazów

Możesz łatwo odzyskać wszystkie obrazy z dowolnego dokumentu PDF, wykonując te proste kroki.

  1. Utwórz instancję obiektu klasy Parser z dokumentem źródłowym.
  2. Wywołaj metodę GetImages klasy Parser, aby pobrać kolekcję wszystkich obrazów w obiektach PageImageArea.
  3. Iteruj po PageImageArea, aby uzyskać każdy obraz.
  4. 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++;
    }
}
Wyodrębnione obrazy z dokumentu za pomocą GroupDocs.Parser

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 PDF
e-maile EML, EMLX, MSG
Archiwa Kod pocztowy

Więcej o GroupDocs.Parser

Porozmawiajmy jeszcze trochę @ Free Support Forum

Powiązane artykuły