När du skapar PDF-filer programmatiskt kan du behöva arbeta med bilderna. Detta kan vara att lägga till en bild, ta bort/ersätta en bild eller extrahera bilder från PDF:en i C#. Den här artikeln täcker alla dessa funktioner och låter dig implementera dem i lätta att följa steg och några rader kod. Så låt oss se hur man arbetar med bilder i PDF-filer i C#.
- C# Library för att arbeta med bilder i PDF
- Lägg till en bild i en PDF i C#
- Extrahera bilder från en PDF i C#
- C# Ta bort bilder från en PDF
- Ersätt en bild i en PDF i C#
C# Library för att lägga till och manipulera bilder i PDF
För att lägga till, ta bort och ersätta bilder i PDF kommer vi att använda Aspose.PDF för .NET. Det är ett C#-klassbibliotek som låter dig skapa och manipulera PDF-dokument från .NET-applikationerna. Med hjälp av biblioteket kan du utföra grundläggande såväl som avancerade PDF-automatiseringsfunktioner ganska enkelt.
Biblioteket kan laddas ner som DLL eller installeras via NuGet.
PM> Install-Package Aspose.PDF
Lägg till bild i en PDF med C#
Följande är stegen för att lägga till en bild till en PDF-fil i C#.
- Använd klassen Dokument för att skapa en ny eller ladda en befintlig PDF-fil.
- Hämta referensen till den önskade sidan i objektet Page.
- Lägg till bilden i samlingen Resurser på sidan.
- Använd följande operatorer för att placera bilden på sidan:
- GSave operator to save the current graphical state.
- Sammanfoga matris operator to specify where the image is to be placed.
- Do operator to draw the image on the page.
- GRestore operator to save the updated graphical state.
- Spara den uppdaterade PDF-filen med metoden Document.Save(String).
Följande kodexempel visar hur man lägger till en bild i en PDF-fil med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("AddImage.pdf");
// Ställ in koordinater
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Skaffa sidan där bilden behöver läggas till
Page page = pdfDocument.Pages[1];
// Ladda bilden i stream
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// Lägg till bild i bildsamlingen av sidresurser
page.Resources.Images.Add(imageStream);
// Använda GSave-operatorn: denna operatör sparar aktuell grafikstatus
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Skapa rektangel- och matrisobjekt
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
// Använda operatorn ConcatenateMatrix (sammanfoga matris): definierar hur bilden ska placeras
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Använda Gör-operatorn: denna operator ritar en bild
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Använda GRestore-operatorn: denna operator återställer grafiktillstånd
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Spara uppdaterat dokument
pdfDocument.Save("AddImage_out.pdf");
Extrahera bilder från PDF i C#
Om du vill extrahera alla bilder från en PDF-fil kan du göra det genom att följa stegen nedan.
- Använd klassen Document för att ladda en befintlig PDF-fil.
- Hämta önskad bild i XImage-objektet från en viss sidas Resources-samling med hjälp av indexet.
- Spara den extraherade bilden i önskat format med metoden XImage.Save(FileStream, ImageFormat).
Följande kodexempel visar hur man extraherar bilder från PDF i C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("ExtractImages.pdf");
// Extrahera en viss bild
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];
FileStream outputImage = new FileStream("output.jpg", FileMode.Create);
// Spara utdatabild
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();
Ta bort bilder från PDF i C#
När du har fått tillgång till resurserna på en sida i PDF kan du ta bort bilderna från den. Följande är stegen för att ta bort bilder från en PDF-fil i C#.
- Ladda PDF-filen med klassen Document.
- Ta bort bilder med någon av följande metoder.
- Radera() - Delete all images.
- Ta bort (Int32) - Delete image by index.
- Ta bort (sträng) - Delete image by name.
- Spara den uppdaterade PDF-filen med metoden Document.Save(String).
Följande kodexempel visar hur man tar bort bilder från en PDF-fil med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("DeleteImages.pdf");
// Ta bort en viss bild
pdfDocument.Pages[1].Resources.Images.Delete(1);
// Spara uppdaterad PDF-fil
pdfDocument.Save("output.pdf");
Ersätt bild i PDF i C#
Aspose.PDF för .NET låter dig också ersätta en viss bild i PDF:en. För detta kan du byta ut bilden i sidans bildsamling. Följande är stegen för att ersätta en bild i PDF med C#.
- Ladda PDF-filen med klassen Document.
- Byt ut den önskade bilden med metoden [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24.
- Spara den uppdaterade PDF-filen med metoden Document.Save(String).
Följande kodexempel visar hur man ersätter en bild i PDF med C#.
// För fullständiga exempel och datafiler, gå till https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Öppna dokumentet
Document pdfDocument = new Document("input.pdf");
// Byt ut en viss bild
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));
// Spara uppdaterad PDF-fil
pdfDocument.Save("output.pdf");
Gratis C#-bibliotek för att manipulera PDF-bilder
Du kan få en gratis tillfällig licens och arbeta med bilder i PDF-filer utan några begränsningar.
Utforska C# PDF-biblioteket
Du kan utforska mer om C# PDF-biblioteket med hjälp av dokumentationen.
Slutsats
Bilder och grafiska objekt är viktiga inslag i PDF-dokument. Därför har vi i den här artikeln täckt hur man manipulerar bilder i en PDF med C#. Steg-för-steg handledning och kodexempel har visat hur man lägger till, extraherar, tar bort och ersätter bilder i PDF-filer i C#.