Arbeta med PDF-bilder med Java

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

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.

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.

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.

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.

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.

Se även