Alongside textual content, images in a PDF play a crucial role in conveying messages effectively. Being able to manipulate images within a PDF document, such as adding, replacing, or removing them, can be incredibly useful for enhancing the visual appeal, updating outdated graphics, or modifying the document's content. In this article, you will learn how to add, replace, or delete images in a PDF document in Python using Spire.PDF for Python.
- Add an Image to a PDF Document in Python
- Replace an Image in a PDF Document in Python
- Remove an Image from a PDF Document in Python
Install Spire.PDF for Python
This scenario requires Spire.PDF for Python and plum-dispatch v1.7.4. They can be easily installed in your Windows through the following pip command.
pip install Spire.PDF
If you are unsure how to install, please refer to this tutorial: How to Install Spire.PDF for Python on Windows
Add an Image to a PDF Document in Python
To add an image to a PDF page, you can use the PdfPage.Canvas.DrawImage() method. The following are the detailed steps.
- Create a PdfDocument object.
- Add a page to the document using PdfDocument.Pages.Add() method.
- Load an image using PdfImage.FromFile() method.
- Draw the image on the page using PdfPageBase.Canvas.DrawImage() method.
- Save the document using PdfDocument.SaveToFile() method.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a PdfDocument instance doc = PdfDocument() # Set the page margins doc.PageSettings.SetMargins(30.0, 30.0, 30.0, 30.0) # Add a page page = doc.Pages.Add() # Load an image image = PdfImage.FromFile('C:/Users/Administrator/Desktop/logo.png') # Specify the size of the image in the document width = image.Width * 0.70 height = image.Height * 0.70 # Specify the X and Y coordinates where the image will be drawn x = 10.0 y = 30.0 # Draw the image at a specified location on the page page.Canvas.DrawImage(image, x, y, width, height) # Save the result document doc.SaveToFile("output/AddImage.pdf", FileFormat.PDF)
Replace an Image in a PDF Document in Python
Spire.PDF for Python offers the PdfImageHelper class to help us get and deal with the images in a certain page. To replace an image with a new one, you can use the PdfImageHelper.ReplaceImage() method. The following are the steps.
- Create a PdfDocument object.
- Load a PDF document using PdfDocument.LoadFromFile() method.
- Get a specific page through PdfDocument.Pages[index] property.
- Load an image using PdfImage.FromFile() method.
- Create a PdfImageHelper object, and get the image information from the specified page using PdfImageHelper.GetImagesInfo() method.
- Replace an existing image in the page with the new image using PdfImageHelper.ReplaceImage() method.
- Save the document using PdfDocument.SaveToFile() method.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a PdfDocument instance doc = PdfDocument() # Load a PDF document doc.LoadFromFile('C:/Users/Administrator/Desktop/input.pdf') # Get the first page page = doc.Pages[0] # Load an image image = PdfImage.FromFile('C:/Users/Administrator/Desktop/newImage.png') # Create a PdfImageHelper instance imageHelper = PdfImageHelper() # Get the image information from the page imageInfo = imageHelper.GetImagesInfo(page) # Replace the first image on the page with the loaded image imageHelper.ReplaceImage(imageInfo[0], image) # Save the result document doc.SaveToFile("output/ReplaceImage.pdf", FileFormat.PDF)
Remove an Image from a PDF Document in Python
To remove a specific image from a page, use the PdfPageBase.DeleteImage(index) method. The following are the steps.
- Create a PdfDocument object.
- Load a PDF document using PdfDocument.LoadFromFile() method.
- Get a specific page through PdfDocument.Pages[index] property.
- Delete a certain image in the page by its index using PdfPageBase.DeleteImage() method.
- Save the document using PdfDocument.SaveToFile() method.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a PdfDocument instance doc = PdfDocument() # Load a PDF document doc.LoadFromFile('C:/Users/Administrator/Desktop/input.pdf') # Get the first page page = doc.Pages[0] # Delete the first image on the page page.DeleteImage(0) # Save the result document doc.SaveToFile('output/DeleteImage.pdf', FileFormat.PDF)
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.