Attēlu ekstrakcija no PDF manuāli ir neefektīva un kļūdas izraisīta. Aspose.PDF for .NET nodrošina spēcīgu risinājumu ar attēla ekstrakta, ļaujot izstrādātājiem automātiski iegūt augstas kvalitātes attēlus dažādos formātos.

Introduction

Šajā rakstā ir parādīts, kā izņemt visas attēlus, kas iebūvēti PDF failos, izmantojot Aspose.PDF Image Extractor .NET. Jūs redzēsiet, cik daudz attēlu no viena vai vairāku PDF, nosaka iznākuma veidus un rīkojas ar dažādiem lietošanas gadījumiem ar vienkāršiem koda piemēriem.

Reālā pasaules problēma

Daudzi rīki trūkst attēlu vai zemākas kvalitātes, bet uzņēmumiem ir nepieciešamas oriģinālas, augstas klases attēlus dokumentācijai, ziņošanai, arhivēšanai vai atkārtošanai.

Risinājumu pārskats

Aspose.PDF Image Extractor for .NET piedāvā precīzu, programmatisku attēlu ekstrakciju no jebkura PDF, kas atbalsta kopas darbus, visus kopīgos attēla formātus un pielāgotus iznākumu maršrutus.

Prerequisites

  • Visual Studio 2019 vai vēlāk
  • .NET 6.0 vai jaunāks
  • Aspose.PDF for .NET instalēts caur NuGet
PM> Install-Package Aspose.PDF

Step-by-step īstenošana

1. solis: Instalēt un konfigurēt Aspose.PDF

Pievienojiet nepieciešamos nosaukuma telpas:

using Aspose.Pdf.Plugins;
using System.IO;

2. solis: sagatavojiet PDF dokumentu

Iestatīt ieejas faila maršrutu (vienkāršs PDF):

string inputPath = "@C:\Samples\sample.pdf";

3. solis: Pamatizglītības izņemšana no PDF

Use ImageExtractor un ImageExtractorOptions Lai iegūtu visus attēlus no PDF:

using (var plugin = new ImageExtractor())
{
    var options = new ImageExtractorOptions();
    options.AddInput(new FileDataSource(inputPath));
    var resultContainer = plugin.Process(options);
    foreach (var result in resultContainer.ResultCollection)
    {
        var imageFile = result.ToFile();
        Console.WriteLine($"Image saved: {imageFile}");
    }
}

Lietošanas gadījumi un pieteikumi (ar kodu izmaiņām)

1. Izņemt attēlus no vairākiem PDF (Batch apstrāde)

Sāciet caur PDF failu direktoriju un izņemt visas attēlus:

string[] pdfFiles = Directory.GetFiles("@C:\Samples\PDFs", "*.pdf");
each (var pdfFile in pdfFiles)
{
    using (var plugin = new ImageExtractor())
    {
        var options = new ImageExtractorOptions();
        options.AddInput(new FileDataSource(pdfFile));
        var resultContainer = plugin.Process(options);
        foreach (var result in resultContainer.ResultCollection)
        {
            var imageFile = result.ToFile();
            Console.WriteLine($"Extracted: {imageFile}");
        }
    }
}

2. Izņem tikai konkrētus attēla veidus (piemēram, JPEG/PNG)

Jūs varat filtrēt pēc procesa rezultātus ar faila paplašinājumu:

foreach (var result in resultContainer.ResultCollection)
{
    var imageFile = result.ToFile();
    if (Path.GetExtension(imageFile).Equals(".jpg", StringComparison.OrdinalIgnoreCase))
    {
        // Process only JPEG images
        Console.WriteLine($"JPEG found: {imageFile}");
    }
}

3. Izveidot attēlus uz pielāgotu folderu

Rakstīt attēlus lietotāja norādītajā mapē, lai integrētu ar CMS vai ziņojumiem:

string exportDir = "@C:\Samples\ExportedImages";
Directory.CreateDirectory(exportDir);
int count = 0;
each (var result in resultContainer.ResultCollection)
{
    var imageFile = result.ToFile();
    var destPath = Path.Combine(exportDir, $"extracted_{++count}{Path.GetExtension(imageFile)}");
    File.Copy(imageFile, destPath, overwrite:true);
}

4. ** Ekstrakts attēli no lapas uz lapu (Advanced)**

Lai labāk kontrolētu, apstrādājiet attēlus pēc lapas, sadalot PDF pirmkārt, vai izmantojiet lejupslīdes loģiku ResultCollection Indekss ir.

Kopīgi izaicinājumi un risinājumi

Attiecības: Daži attēli nav izņemtiLēmums: Pārliecinieties, ka PDF nav bojāts; pārbaudiet XObject/image tipa problēmas vai izlaidiet ekstrakciju ar jaunāko Aspose.PDF versiju.

Problēma: Izceļošanas faila veids/formātsRīze: Izmantojiet pēcapstrādi, lai konvertētu izņemtos attēlus, ja ir vajadzīgs konkrēts formāts.

Darbības un labākās prakses

  • Izmantojiet batch ekstrakciju lieliem projektiem vai atkārtotiem darbiem
  • Organizēt iznākuma mapes, lai izvairītos no filēna nosaukuma konfliktiem
  • Pārlieciniet izejas attēla kvalitāti un pārbaudiet ar mērķa lietojumprogrammām
  • Vienmēr tīrīt pagaidu failus automatizētajos virzienos

Pilnīgs īstenošanas piemērs

using Aspose.Pdf.Plugins;
using System;
using System.IO;

public class Program
{
    public static void Main()
    {
        string inputPath = "@C:\Samples\sample.pdf";
        using (var plugin = new ImageExtractor())
        {
            var options = new ImageExtractorOptions();
            options.AddInput(new FileDataSource(inputPath));
            var resultContainer = plugin.Process(options);
            foreach (var result in resultContainer.ResultCollection)
            {
                var imageFile = result.ToFile();
                Console.WriteLine($"Extracted image: {imageFile}");
            }
        }
    }
}

Conclusion

Aspose.PDF Image Extractor for .NET paātrina visu attēlu iegūšanas procesu no PDF dokumentiem, atbalstot vienus failus, partijas vai pielāgotus ekstrakcijas vajadzības.

More in this category