Dit artikel helpt bij het invoegen van een afbeelding in een PDF met behulp van Java. Het bevat details over de IDE-configuratie, een stapsgewijs proces om de toepassing te schrijven en een uitvoerbare voorbeeldcode om afbeelding aan PDF toe te voegen met Java. U leert ook verschillende opties om het proces aan te passen om de afbeelding in elk formaat weer te geven, bijvoorbeeld PNG, JPEG, enz., en de afbeelding op de gewenste positie op de PDF-pagina te plaatsen.
Stappen om afbeelding in PDF te plaatsen met Java
- Stel de omgeving in om Aspose.PDF for Java te gebruiken om een afbeelding in te voegen
- Laad het PDF-bronbestand, krijg toegang tot de eerste page voor het toevoegen van een afbeelding en sla de grafische status op
- Maak een stroom van de afbeelding en voeg deze toe aan de bron voor het verzamelen van afbeeldingen van de geladen PDF
- Instantiseer het Matrix-object met de gewenste rechthoekige positie voor de afbeelding
- Definieer de opties voor het tekenen van afbeeldingen en teken de afbeelding met behulp van de methode Do().
- Herstel de grafische status en sla de uitvoer-PDF op voordat u de afbeelding en PDF-streams sluit
In deze stappen wordt uitgelegd hoe u een afbeelding in PDF kunt toevoegen met Java, waarbij eerst de paginaverwijzing wordt verkregen uit het geladen PDF-bestand en vervolgens de afbeeldingsstroom wordt gemaakt. Deze afbeelding wordt toegevoegd aan de afbeeldingenverzameling van de geselecteerde pagina en vervolgens wordt de transformatiematrix gedeclareerd met behulp van de positionele rechthoek voor de doelafbeelding. Uiteindelijk wordt de afbeelding weergegeven met behulp van de methode Do() en wordt het resulterende PDF-bestand op de schijf opgeslagen.
Code om foto in PDF toe te voegen met 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"); | |
} | |
} |
Deze code demonstreert het proces om afbeelding aan PDF toe te voegen met Java. Het gebruikt de Document-klasse om de PDF te laden, het Page-klasse-object om de verwijzing naar de doel-PDF-pagina vast te houden, het FileInputStream-object om de doelafbeelding vast te houden, de rectangle-klasse om de afbeeldingspositie op de pagina te beschrijven, het Matrix-object om te definiëren het tekenen van de afbeelding en de methode Do() om de afbeelding weer te geven. Merk op dat de grafische status wordt opgeslagen voordat deze bewerking wordt gestart en wordt hersteld zodra de bewerking is voltooid.
In dit artikel zijn we getuige geweest van het proces om foto’s toe te voegen aan PDF met behulp van Java. Als je meer wilt weten over het proces om een watermerk toe te voegen aan een pdf, raadpleeg dan het artikel op hoe watermerk aan PDF toe te voegen met Java.