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.
- .NET API för att generera miniatyrbilder av PDF
- Skapa en miniatyrbild av en PDF-fil
- Generera miniatyrbilder av alla sidor i PDF
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#.
- Ladda PDF-filen med klassen Document.
- Få en referens till den önskade sidan från samlingen Document.Pages.
- Skapa en ny FileStream för bildfilen.
- Skapa en instans av klassen Resolution för att ställa in upplösningen för miniatyrbilden.
- Instantera JpegDevice och ställ in bildens höjd, bredd, upplösning och kvalitet.
- Generera miniatyrer med metoden JpegDevice.Process(Page, FileStream).
- Stäng filströmmen.
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:
- Skapa en ny FileStream för bildfilen.
- Skapa en instans av klassen Resolution för att ställa in upplösningen för miniatyrbilden.
- Instantiera JpegDevice och ställ in bildens höjd, bredd, upplösning och kvalitet.
- Generera miniatyrer med metoden JpegDevice.Process(Page, FileStream).
- Stäng filströmmen.
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.