Bilder används ofta för olika typer av skildringar och demonstrationer i PDF-filer. I den här artikeln kommer du att lära dig hur du manipulerar bilder i PDF-filer programmatiskt. Speciellt kommer artikeln att täcka hur man lägger till, extraherar, tar bort eller ersätter bilder i PDF-filer med Java.
- Java-bibliotek för att lägga till bilder i PDF
- Lägg till en bild i en PDF i Java
- Extrahera en bild från en PDF i Java
- Ta bort bilder från en PDF i Java
- Ersätt en bild i en PDF i Java
- Skaffa en gratis licens
Java-bibliotek för att lägga till bilder i PDF
För att lägga till och manipulera bilder i PDF kommer vi att använda Aspose.PDF för Java. Det är ett kraftfullt bibliotek som ger dig ett brett utbud av PDF-manipuleringsfunktioner. Biblioteket låter dig arbeta med text, kommentarer eller bilder i PDF-filer sömlöst.
Du kan antingen ladda ner bibliotekets JAR eller installera den med hjälp av följande Maven-konfigurationer.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.12</version>
</dependency>
Hur man lägger till bild till en PDF-fil i Java
Följande är stegen för att lägga till en bild i PDF-filen i Java.
- Skapa först en instans av klassen Document för att ladda PDF-dokumentet.
- Skaffa Page du vill lägga till en bild på med metoden Document.getPages().getItem(int).
- Ladda bildfilen i ett FileInputStream-objekt.
- Lägg till bilden i sidans resurser med metoden Page.getResources().getImages().add(FileInputStream).
- Använd operatorer för att placera bilden på sidan:
- GSave för att spara det aktuella grafiska tillståndet.
- Operatorn ConcatenateMatrix för att ange var bilden ska placeras.
- Do för att rita bilden på sidan.
- Operatorn GRestore för att spara det uppdaterade grafiska tillståndet.
- Spara slutligen den uppdaterade PDF-filen med metoden Document.save(string).
Följande kodexempel visar hur man lägger till en bild i en PDF-fil i Java.
// Öppna ett dokument
Document pdfDocument1 = new Document("input.pdf");
// Ställ in koordinater
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Skaffa sidan du vill lägga till bilden på
Page page = pdfDocument1.getPages().get_Item(1);
// Ladda bilden i stream
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));
// Lägg till en bild i bildsamlingen för sidresurserna
page.getResources().getImages().add(imageStream);
// Med GSave-operatorn: denna operatör sparar aktuell grafikstatus
page.getContents().add(new Operator.GSave());
// Skapa rektangel- och matrisobjekt
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });
// Använda operatorn ConcatenateMatrix (sammanfoga matris): definierar hur bilden ska placeras
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
// Använda Gör-operatorn: denna operator ritar en bild
page.getContents().add(new Operator.Do(ximage.getName()));
// Använda GRestore-operatorn: denna operator återställer grafiktillstånd
page.getContents().add(new Operator.GRestore());
// Spara den nya PDF-filen
pdfDocument1.save("Updated_document.pdf");
// Stäng bildström
imageStream.close();
Extrahera bilder från en PDF-fil med Java
Följande är stegen för att extrahera bilder från ett PDF-dokument med Java.
- Skapa en instans av klassen Document för att ladda PDF-dokumentet.
- Extrahera önskad bild till objektet XImage med metoden Document.getPages().getItem(int).getResources().getImages().getItem(int).
- Du kan också gå igenom bildsamlingen för att extrahera och spara alla bilder.
- Slutligen, spara den extraherade bilden som en fil med OutputStream.
Följande kodexempel visar hur man extraherar bilder från PDF-filer med Java.
// Öppna ett dokument
Document pdfDocument = new Document("input.pdf");
// Extrahera en viss bild
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);
// Skapa strömobjekt för att spara utdatabilden
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");
// Spara utdatabilden
xImage.save(output);
// Stäng strömmen
output.close();
Ta bort bilder från en PDF-fil med Java
Följande är stegen för att ta bort en bild från en PDF-fil med Java.
- Ladda PDF-filen i ett Dokument-objekt.
- Radera önskad bild(er) med någon av följande metoder.
- radera() to delete images from collection.
- delete(int index) to delete an image from the collection by index.
- ta bort (strängnamn) to delete an image from the collection by name.
- Spara slutligen den uppdaterade PDF-filen med metoden Document.save(string).
Följande kodexempel visar hur man tar bort en bild i PDF med Java.
// Öppna ett dokument
Document pdfDocument = new Document("input.pdf");
// Ta bort en viss bild
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);
// Spara den uppdaterade PDF-filen
pdfDocument.save("output.pdf");
Ersätt en bild i en PDF-fil med Java
Följande är stegen för att ersätta en bild i en PDF-fil med Java.
- Ladda PDF-filen i ett Dokument-objekt.
- Ladda den nya bilden i objektet FileInputStream.
- Använd metoden Document.getPages().getItem(int).getResources().getImages().replace(int, FileInputStream) för att ersätta bilden genom att ange index.
- Spara slutligen den uppdaterade PDF-filen med metoden Document.save(string).
Följande kodexempel visar hur man ersätter en bild i PDF med Java.
// Öppna ett dokument
Document pdfDocument = new Document("input.pdf");
// Byt ut en viss bild
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("aspose.png")));
// Spara den uppdaterade PDF-filen
pdfDocument.save("output.pdf");
Gratis Java PDF-bibliotek för att lägga till bilder
Du kan få en gratis tillfällig licens och arbeta med PDF-bilder utan några begränsningar.
Utforska Java PDF-bibliotek
Du kan utforska andra funktioner i Java PDF-biblioteket med hjälp av dokumentation. Om du har några frågor kan du kontakta oss via vårt forum.
Slutsats
I den här artikeln har du lärt dig hur du manipulerar bilder i PDF-filer med Java. Steg-för-steg-guiden och kodexempel har visat hur man extraherar, lägger till, tar bort och ersätter bilder i en PDF-fil. Du kan enkelt använda biblioteket och medföljande kodexempel i dina Java-applikationer.