Hur man infogar bild i PDF med Java

Den här artikeln hjälper dig att hur man infogar en bild i PDF med Java. Den ger detaljer om IDE-konfigurationen, en steg-för-steg-process för att skriva applikationen och en körbar exempelkod för att lägga till bild till PDF med Java. Du kommer också att lära dig olika alternativ för att anpassa processen för att rendera bilden i valfritt format, säg PNG, JPEG, etc., och placera bilden på önskad plats på sidan PDF.

Steg för att lägga bild i PDF med Java

  1. Skapa miljön för att använda Aspose.PDF for Java för att infoga en bild
  2. Ladda käll-PDF-filen, få tillgång till den första page för att lägga till en bild och spara grafikstatusen
  3. Skapa en ström av bilden och lägg till den i bildsamlingsresursen för den inlästa PDF-filen
  4. Instantiera objektet Matrix med den önskade rektangulära positionen för bilden
  5. Definiera bildritningsalternativen och rita bilden med metoden Do().
  6. Återställ grafiktillståndet och spara utdata-PDF-filen innan du stänger bilden och PDF-strömmarna

Dessa steg förklarar hur man lägger till bild i PDF med Java där först sidhänvisningen hämtas från den laddade PDF-filen och sedan skapas bildströmmen. Denna bild läggs till bildsamlingen för den valda sidan och sedan deklareras transformationsmatrisen med hjälp av positionsrektangeln för målbilden. Till slut renderas bilden med metoden Do() och den resulterande PDF-filen sparas på disken.

Kod för att lägga till foto i PDF med Java

import com.aspose.pdf.*;
import com.aspose.pdf.operators.*;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to add image to a PDF using Java
// Instantiate the license
License lic = new License();
lic.setLicense("Aspose.Total.lic");
// Load the source PDF file
Document srcDocument = new Document("sample.pdf");
// Get a reference to the target page
Page pdfPage = srcDocument.getPages().get_Item(1);
// Create stream for the image
java.io.FileInputStream streamForImage = new java.io.FileInputStream(new java.io.File("logo.png"));
// Add the stream of image to the collection of images in the selected page
pdfPage.getResources().getImages().add(streamForImage);
// Save the current state of the graphics for later use
pdfPage.getContents().add(new GSave());
// Instantiate the Matrix object using the desired rectangular area
Rectangle rect = new Rectangle(50, 750, 100, 800);
Matrix matrix = new Matrix(new double[] { rect.getURX() - rect.getLLX(), 0, 0,
rect.getURY() - rect.getLLY(), rect.getLLX(), rect.getLLY() });
// Define how image must be placed
pdfPage.getContents().add(new ConcatenateMatrix(matrix));
XImage pdfXimage = pdfPage.getResources().getImages().get_Item(pdfPage.getResources().getImages().size());
// Draw image using the Do operator
pdfPage.getContents().add(new Do(pdfXimage.getName()));
// Restore the graphics state
pdfPage.getContents().add(new GRestore());
// Save the resultant PDF
srcDocument.save("updated_document.pdf");
// Close image stream
streamForImage.close();
// Close the PDF
srcDocument.close();
System.out.println("Done");
}
}

Den här koden demonstrerar processen för att lägga till bild till PDF med Java. Den använder klassen Document för att ladda PDF-filen, Sidklassobjektet för att hålla referensen till PDF-målsidan, FileInputStream-objektet för att hålla målbilden, rektangelklassen för att beskriva bildens position på sidan, Matrix-objektet för att definiera ritningen av bilden och metoden Do() för att rendera bilden. Observera att grafiktillståndet sparas innan den här operationen startas och återställs när operationen är klar.

I den här artikeln har vi sett processen att lägga till foto till PDF med Java. Om du vill lära dig processen för att lägga till en vattenstämpel i en PDF, läs artikeln om hur man lägger till vattenstämpel till PDF med Java.

 Svenska