Generera miniatyrer för PDF-filer i C#

Du kan ofta behöva skapa miniatyrer när du bäddar in PDF-dokumenten i en webbapplikation. Dessutom krävs miniatyrbilder av sidor när du skapar en PDF-visare. För sådana scenarier beskriver den här artikeln hur man genererar miniatyrer av en PDF-fil programmatiskt i C# .NET. Vi kommer uttryckligen att täcka hur man skapar en miniatyrbild av en viss sida eller alla sidor i en PDF-fil.

C# .NET API för att generera miniatyrbilder av PDF

Aspose.PDF för .NET är ett C#-klassbibliotek som låter dig skapa och manipulera PDF-dokument i .NET-applikationerna. Med hjälp av API:t kan du utföra grundläggande såväl som avancerade PDF-automatiseringsoperationer ganska enkelt. Vi kommer att använda detta API för att generera miniatyrer av en PDF-fil. API:t kan laddas ned som DLL eller installeras via NuGet.

PM> Install-Package Aspose.Pdf

Generera en miniatyrbild av en PDF-fil i C# .NET

Vanligtvis måste du skapa en enda miniatyrbild för ett PDF-dokument. Sidan för miniatyrbilden kan vara försättssidan eller valfri annan sida. Följande är stegen för att skapa en miniatyrbild av den önskade sidan i en PDF-fil i C#.

Följande kodexempel visar hur man genererar en miniatyrbild av en PDF-fil i C#.

// Öppna dokumentet
Document pdfDocument = new Document("file.pdf");

int pageIndex = 0;

// Hämta sida med önskat index från samlingen
var page = pdfDocument.Pages[pageIndex];

// Skapa ström för bildfil
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
    // Skapa upplösningsobjekt
    Resolution resolution = new Resolution(300);

    // Skapa en instans av JpegDevice och ställ in höjd, bredd, upplösning och bildkvalitet
    JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

    // Konvertera en viss sida och spara bilden för att streama
    jpegDevice.Process(page, imageStream);

    // Stäng strömmen
    imageStream.Close();
}

Generera miniatyrbilder av alla sidor i PDF i C#

Följande är stegen för att generera miniatyrer för alla sidor i PDF i C#.

  • Ladda PDF-filen med klassen Document.
  • Bläddra igenom alla sidor i PDF med Document.Pages samlingen.
  • Utför följande operationer i varje iteration:

Följande kodexempel visar hur man genererar miniatyrer för alla sidor i PDF.

// Öppna dokumentet
Document pdfDocument = new Document("file.pdf");

// Bläddra igenom sidorna
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
    // Skapa ström för varje bild
    using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
    {
        // Skapa upplösningsobjekt
        Resolution resolution = new Resolution(300);

        // Skapa en instans av JpegDevice och ställ in höjd, bredd, upplösning och bildkvalitet
        JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

        // Konvertera en viss sida och spara bilden för att streama
        jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);

        // Stäng strömmen
        imageStream.Close();
    }
}

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att använda Aspose.PDF för .NET utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du genererar miniatyrer för PDF-filer i C#. Du har sett hur man skapar en miniatyrbild av en viss sida eller alla sidor i en PDF-fil. Dessutom kan du utforska mer om C# PDF API med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.

Se även