Ajouter une image à un PDF existant en Python
Contents
[
Hide
]
Ajouter une image à un fichier PDF existant en Python
Cet exemple montre comment placer une image à une position fixe sur une page PDF existante en utilisant Aspose.PDF for Python via .NET.
Utilisez ces exemples lorsque vous devez ajouter un logo, une photo, un tampon, un graphique ou tout autre élément visuel à une mise en page PDF existante. Vous pouvez placer l’image avec des coordonnées de page, la dessiner avec des opérateurs, ajouter du texte d’accessibilité ou contrôler la compression de l’image.
- Charger un PDF existant avec
ap.Document(infile). - Sélectionnez la page cible (
document.pages[1]pour la première page). - Appeler
page.add_image()avec :- Le chemin du fichier image.
- A
Rectangledéfinir les coordonnées de placement.
- Enregistrez le PDF mis à jour.
import aspose.pdf as ap
def add_image(infile, image_file, outfile):
document = ap.Document(infile)
page = document.pages[1]
page.add_image(image_file, ap.Rectangle(20, 730, 120, 830, True))
document.save(outfile)
Ajouter une image au PDF en utilisant des opérateurs
Cette approche ajoute une image avec des opérateurs PDF de bas niveau au lieu de ceux de haut niveau. add_image() assistant.
- Créer un nouveau
Documentet ajoutez une page. - Ajouter l’image aux ressources de la page (
page.resources.images). - Créer des opérateurs de transformation (
GSave,ConcatenateMatrix,Do,GRestore). - Ajoutez des opérateurs au contenu de la page.
- Enregistrez le PDF résultant.
import aspose.pdf as ap
from io import FileIO
def add_image_using_operators(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream)
rectangle = ap.Rectangle(0, 0, page.media_box.width, page.media_box.height, True)
operators = [
ap.operators.GSave(),
ap.operators.ConcatenateMatrix(
ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
),
ap.operators.Do(image_id),
ap.operators.GRestore(),
]
page.contents.add(operators)
document.save(outfile)
Ajouter une image au PDF avec du texte alternatif
Cet exemple ajoute une image et attribue un texte alternatif pour l’accessibilité.
- Créer un nouveau
Documentet ajoutez une page. - Ajouter l’image à la page avec
page.add_image(). - Obtenir les ressources d’image depuis
page.resources.images. - Définir le texte alternatif à l’aide de
try_set_alternative_text(). - Enregistrez le PDF résultant.
import aspose.pdf as ap
def add_image_set_alternative_text(image_file, outfile):
document = ap.Document()
page = document.pages.add()
page.set_page_size(842, 595)
page.add_image(image_file, ap.Rectangle(0, 0, 842, 595, True))
resources_images = page.resources.images
x_image = resources_images[1]
result = x_image.try_set_alternative_text("Alternative text for image", page)
if result:
print("Alternative text has been added successfully")
document.save(outfile)
Ajouter une image à un PDF avec compression Flate
Cet exemple intègre une image en utilisant ImageFilterType.FLATE compression.
- Créer un nouveau
Documentet ajoutez une page. - Ajouter l’image aux ressources de la page avec compression Flate.
- Utiliser les opérateurs de matrice pour placer et dessiner l’image.
- Enregistrer le document.
import aspose.pdf as ap
from io import FileIO
def add_image_to_pdf_with_flate_compression(image_file, outfile):
document = ap.Document()
page = document.pages.add()
resources_images = page.resources.images
with FileIO(image_file, "rb") as image_stream:
image_id = resources_images.add(image_stream, ap.ImageFilterType.FLATE)
rectangle = ap.Rectangle(0, 0, 600, 600, True)
matrix = ap.Matrix(
rectangle.urx - rectangle.llx,
0,
0,
rectangle.ury - rectangle.lly,
rectangle.llx,
rectangle.lly,
)
page.contents.add([ap.operators.GSave()])
page.contents.add([ap.operators.ConcatenateMatrix(matrix)])
page.contents.add([ap.operators.Do(image_id)])
page.contents.add([ap.operators.GRestore()])
document.save(outfile)