Passer au contenu du pied de page
UTILISER IRONPDF POUR PYTHON

Comment modifier un fichier PDF en Python

Iron Software présente la bibliothèque IronPDF for Python, une solution qui révolutionne la facilité avec laquelle les tâches d'édition de PDF sont effectuées en Python. Que vous ayez besoin d'insérer des signatures, d'ajouter des pieds de page HTML, d'intégrer des filigranes, d'inclure des annotations ou de modifier des fichiers PDF, IronPDF for Python est votre outil de prédilection. La bibliothèque assure que votre code reste lisible, qu'elle supporte la création de PDF par programmation, facilite le débogage simple et se déploie sans problème sur toutes les plateformes et environnements compatibles.

Cet article tutoriel explorera ces fonctionnalités étendues avec des exemples de code Python illustratifs et des explications complètes. À la fin de ce guide, vous aurez une solide compréhension de la manière d'utiliser IronPDF for Python pour tous vos besoins d'édition de PDF.

Comment éditer des fichiers PDF en Python

  1. Installez la bibliothèque PDF Python à l'aide de l'installateur pip.
  2. Appliquez la clé de licence pour la bibliothèque PDF Python.
  3. Chargez le document PDF pour édition.
  4. Éditez le document PDF en utilisant différentes options telles que diviser, copier des pages et d'autres opérations PDF.
  5. Enregistrez le fichier modifié en utilisant la fonction SaveAs.

Modifier la structure du document

Manipuler les pages

IronPDF simplifie le processus d'ajout de pages à des positions spécifiques, d'extraction de pages spécifiques ou d'une plage de pages, et de suppression de pages de tout PDF. Il gère tous les processus complexes pour vous, ce qui rend facile l'exécution de ces tâches efficacement.

Ajouter des pages

Vous pouvez ajouter des pages aux documents PDF en spécifiant le contenu de la page, la taille et la position. Après avoir effectué les modifications souhaitées, vous pouvez enregistrer le fichier PDF de sortie en utilisant la fonction SaveAs.

from ironpdf import *

# Enable debugging and set log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All

# Load existing PDF and Render HTML as new PDF page
pdf = PdfDocument("C:\\Users\\Administrator\\Downloads\\Documents\\sample.pdf")
renderer = ChromePdfRenderer()
coverPagePdf = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>")

# Prepend new page to existing PDF
pdf.PrependPdf(coverPagePdf)

# Save the updated PDF document
pdf.SaveAs("report_with_cover.pdf")
from ironpdf import *

# Enable debugging and set log path
Logger.EnableDebugging = True
Logger.LogFilePath = "Custom.log"
Logger.LoggingMode = Logger.LoggingModes.All

# Load existing PDF and Render HTML as new PDF page
pdf = PdfDocument("C:\\Users\\Administrator\\Downloads\\Documents\\sample.pdf")
renderer = ChromePdfRenderer()
coverPagePdf = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>")

# Prepend new page to existing PDF
pdf.PrependPdf(coverPagePdf)

# Save the updated PDF document
pdf.SaveAs("report_with_cover.pdf")
PYTHON

Copier des pages

Vous pouvez copier des pages d'un document PDF à un autre fichier PDF existant en spécifiant le numéro de page et la destination. De plus, vous avez la possibilité de créer un nouveau fichier PDF à partir des pages PDF copiées. Il est également possible de sélectionner une ou plusieurs pages d'un même fichier PDF pour les copier.

from ironpdf import *

# Load the PDF document
pdf = PdfDocument("C:\\Users\\Administrator\\Downloads\\Documents\\sample.pdf")

# Copy pages 3 to 5 and save them as a new document.
pdf.CopyPages(2, 4).SaveAs("report_highlight.pdf")
from ironpdf import *

# Load the PDF document
pdf = PdfDocument("C:\\Users\\Administrator\\Downloads\\Documents\\sample.pdf")

# Copy pages 3 to 5 and save them as a new document.
pdf.CopyPages(2, 4).SaveAs("report_highlight.pdf")
PYTHON

Supprimer des pages

Vous pouvez supprimer des pages du fichier PDF en entrée en spécifiant le numéro de page.

from ironpdf import *

# Load the PDF document
pdf = PdfDocument("report.pdf")

# Remove the last page from the PDF
pdf.RemovePage(pdf.PageCount-1)

# Save the updated PDF
pdf.SaveAs("Report-Minus-1.pdf")
from ironpdf import *

# Load the PDF document
pdf = PdfDocument("report.pdf")

# Remove the last page from the PDF
pdf.RemovePage(pdf.PageCount-1)

# Save the updated PDF
pdf.SaveAs("Report-Minus-1.pdf")
PYTHON

Fusionner et scinder des PDFs

L'API conviviale d'IronPDF simplifie la combinaison de plusieurs PDFs en un seul ou la séparation d'un PDF existant en fichiers distincts.

Joindre plusieurs PDF existants en un document PDF unique

Vous pouvez joindre plusieurs documents PDF en un seul document en spécifiant les documents PDF d'entrée et de sortie.

from ironpdf import *

# Define HTML content for two separate PDFs
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Render each HTML content as PDF
renderer = ChromePdfRenderer()
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the PDFs into a single document
merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

# Save the merged PDF
merged.SaveAs("Merged.pdf")
from ironpdf import *

# Define HTML content for two separate PDFs
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Render each HTML content as PDF
renderer = ChromePdfRenderer()
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the PDFs into a single document
merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

# Save the merged PDF
merged.SaveAs("Merged.pdf")
PYTHON

Diviser un PDF et extraire des pages

Vous pouvez diviser un document PDF en plusieurs documents ou extraire des pages spécifiques de fichiers PDF en spécifiant le document PDF d'entrée et de sortie ou les numéros de page.

from ironpdf import *

# Define the HTML structure of the document
html = """<p> Hello Iron </p>
          <p> This is 1st Page </p>
          <div style='page-break-after: always;'></div>
          <p> This is 2nd Page</p>
          <div style='page-break-after: always;'></div>
          <p> This is 3rd Page</p>"""

# Render the HTML as a PDF document
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)

# Create a separate document for the first page
page1doc = pdf.CopyPage(0)
page1doc.SaveAs("Split1.pdf")

# Create a separate document for pages 2 and 3
page23doc = pdf.CopyPages(1, 2)
page23doc.SaveAs("Split2.pdf")
from ironpdf import *

# Define the HTML structure of the document
html = """<p> Hello Iron </p>
          <p> This is 1st Page </p>
          <div style='page-break-after: always;'></div>
          <p> This is 2nd Page</p>
          <div style='page-break-after: always;'></div>
          <p> This is 3rd Page</p>"""

# Render the HTML as a PDF document
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)

# Create a separate document for the first page
page1doc = pdf.CopyPage(0)
page1doc.SaveAs("Split1.pdf")

# Create a separate document for pages 2 and 3
page23doc = pdf.CopyPages(1, 2)
page23doc.SaveAs("Split2.pdf")
PYTHON

Modifier les propriétés du document

Ajouter et utiliser les métadonnées d'un PDF

Vous pouvez ajouter et utiliser des métadonnées PDF avec IronPDF for Python. Cela peut être bénéfique pour ajouter des informations de copyright, suivre les modifications, ou simplement rendre vos documents PDF plus consultables.

Les métadonnées PDF sont une collection de données stockées dans un document PDF. Ces données peuvent inclure le titre, l'auteur, le sujet, les mots-clés, la date de création et la date de modification du document PDF. De plus, elles peuvent inclure des données personnalisées que vous ajoutez selon vos besoins.

from ironpdf import *
from datetime import datetime

# Load the encrypted PDF document
pdf = PdfDocument.FromFile("encrypted.pdf", "password")

# Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = datetime.now()

# Save the updated PDF document
pdf.SaveAs("MetaData-Updated.pdf")
from ironpdf import *
from datetime import datetime

# Load the encrypted PDF document
pdf = PdfDocument.FromFile("encrypted.pdf", "password")

# Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = datetime.now()

# Save the updated PDF document
pdf.SaveAs("MetaData-Updated.pdf")
PYTHON

Signatures numériques

IronPDF vous permet de signer numériquement de nouveaux fichiers PDF ou existants à l'aide de certificats numériques .pfx et .p12 X509Certificate2. Lorsqu'un PDF est signé par cette méthode, toute modification du document nécessiterait une validation avec le certificat, assurant l'intégrité du document.

Vous pouvez trouver plus de conseils sur la génération d'un certificat de signature gratuit avec Adobe Reader sur le site web d'Adobe.

En plus de la signature cryptographique, IronPDF supporte également l'utilisation d'une image de signature manuscrite ou d'une image de tampon d'entreprise comme alternative pour signer le document.

from ironpdf import *

# Cryptographically sign an existing PDF in one line of code!
PdfSignature(r".\certificates\IronSoftware.p12", "123456").SignPdfFile("any.pdf")

##### Advanced example for more control #####

# Step 1. Create a PDF.
renderer = ChromePdfRenderer()
doc = renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")

# Step 2. Create a digital signature.
signature = PdfSignature(r"certificates\IronSoftware.pfx", "123456")

# Step 3. Optional signing options and a handwritten signature graphic.
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"

# Step 4. Sign the PDF with the PdfSignature.
doc.Sign(signature)

# Step 5. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf")
from ironpdf import *

# Cryptographically sign an existing PDF in one line of code!
PdfSignature(r".\certificates\IronSoftware.p12", "123456").SignPdfFile("any.pdf")

##### Advanced example for more control #####

# Step 1. Create a PDF.
renderer = ChromePdfRenderer()
doc = renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")

# Step 2. Create a digital signature.
signature = PdfSignature(r"certificates\IronSoftware.pfx", "123456")

# Step 3. Optional signing options and a handwritten signature graphic.
signature.SigningContact = "support@ironsoftware.com"
signature.SigningLocation = "Chicago, USA"
signature.SigningReason = "To show how to sign a PDF"

# Step 4. Sign the PDF with the PdfSignature.
doc.Sign(signature)

# Step 5. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf")
PYTHON

Pièces jointes PDF

IronPDF rend très facile l'ajout de pièces jointes à vos documents PDF et leur suppression quand vous le désirez. Cela signifie que vous pouvez ajouter des fichiers supplémentaires dans vos PDFs et les retirer au besoin, le tout avec l'aide d'IronPDF.

from ironpdf import *

# Instantiate the Renderer and create a PdfDocument from HTML
renderer = ChromePdfRenderer()
my_pdf = renderer.RenderHtmlFileAsPdf("my-content.html")

# Open the PDF document to be attached
pdf = PdfDocument.FromFile("new_sample.pdf")

# Add an attachment with a name and a byte array
attachment1 = my_pdf.Attachments.AddAttachment("attachment_1", pdf.BinaryData)

# Remove an attachment
my_pdf.Attachments.RemoveAttachment(attachment1)

# Save the PDF with attachments
my_pdf.SaveAs("my-content.pdf")
from ironpdf import *

# Instantiate the Renderer and create a PdfDocument from HTML
renderer = ChromePdfRenderer()
my_pdf = renderer.RenderHtmlFileAsPdf("my-content.html")

# Open the PDF document to be attached
pdf = PdfDocument.FromFile("new_sample.pdf")

# Add an attachment with a name and a byte array
attachment1 = my_pdf.Attachments.AddAttachment("attachment_1", pdf.BinaryData)

# Remove an attachment
my_pdf.Attachments.RemoveAttachment(attachment1)

# Save the PDF with attachments
my_pdf.SaveAs("my-content.pdf")
PYTHON

Compresser les PDFs

IronPDF a la fonctionnalité de compresser les PDFs pour aider à réduire leur taille de fichier. Une méthode consiste à réduire la taille des images intégrées dans le document PDF en utilisant la méthode CompressImages.

Concernant la qualité de l'image, avec les images JPEG, une qualité de 100% vous donne presque aucune perte de qualité de l'image, tandis qu'1% donne un résultat de très mauvaise qualité. En général, une qualité d'image de 90% ou plus est considérée comme de haute qualité. Une image de qualité moyenne se situe entre 80% et 90%, et une image de basse qualité varie de 70% à 80%. Si vous descendez en dessous de 70%, la qualité de l'image se détériore considérablement, mais cela peut aider à réduire drastiquement la taille globale du fichier du document PDF.

Il est recommandé d'essayer différents pourcentages de qualité pour trouver le bon équilibre entre la qualité et la taille de fichier qui répondent à vos besoins. Gardez à l'esprit que la perte notable de qualité après réduction peut varier selon le type d'image avec lequel vous traitez, car certaines images peuvent perdre plus de netteté que d'autres.

from ironpdf import *

# Load the PDF document
pdf = PdfDocument("document.pdf")

# Compress images within the PDF (quality between 1-100)
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")

# Compress images with scaling image resolution
pdf.CompressImages(90, True)
pdf.SaveAs("document_scaled_compressed.pdf")
from ironpdf import *

# Load the PDF document
pdf = PdfDocument("document.pdf")

# Compress images within the PDF (quality between 1-100)
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")

# Compress images with scaling image resolution
pdf.CompressImages(90, True)
pdf.SaveAs("document_scaled_compressed.pdf")
PYTHON

Modification du contenu des PDFs

Ajouter des en-têtes et pieds de page

Ajouter des en-têtes et des pieds de page à vos documents PDF est simple avec IronPDF. Le logiciel fournit deux types distincts de HeaderFooters : TextHeaderFooter et HtmlHeaderFooter. TextHeaderFooter est idéal pour les en-têtes et pieds de page qui contiennent uniquement du texte et peuvent nécessiter l'incorporation de champs de fusion tels que "{page} sur {total-pages}". D'autre part, HtmlHeaderFooter est une option plus avancée qui peut gérer tout contenu HTML et le formater proprement, ce qui le rend adapté à des en-têtes et pieds de page plus complexes.

En-tête et pied de page HTML

Avec IronPDF for Python, vous pouvez utiliser la fonction HtmlHeaderFooter pour créer des en-têtes ou pieds de page HTML dans votre document PDF à partir de HTML. Cela signifie que vous pouvez concevoir votre en-tête ou pied de page à l'aide de HTML, et IronPDF for Python convertira parfaitement cela pour s'adapter à votre PDF, assurant que chaque détail est juste. Donc, si vous avez un design HTML pour un en-tête ou un pied de page, IronPDF for Python peut l'appliquer à votre document PDF avec précision.

from ironpdf import *
import os

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Build a footer using HTML to style the text
renderer.RenderingOptions.HtmlFooter = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlFooter.MaxHeight = 15  # millimeters
renderer.RenderingOptions.HtmlFooter.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
renderer.RenderingOptions.HtmlFooter.DrawDividerLine = True

# Ensure sufficient bottom margin
renderer.RenderingOptions.MarginBottom = 25  # mm

# Build a header using an image asset
renderer.RenderingOptions.HtmlHeader = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlHeader.MaxHeight = 20  # millimeters
renderer.RenderingOptions.HtmlHeader.HtmlFragment = "<img src='iron.png'>"
renderer.RenderingOptions.HtmlHeader.BaseUrl = os.path.abspath("C:/Users/lyty1/OneDrive/Documents/IronPdfPythonNew")

# Ensure sufficient top margin
renderer.RenderingOptions.MarginTop = 25  # mm
from ironpdf import *
import os

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Build a footer using HTML to style the text
renderer.RenderingOptions.HtmlFooter = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlFooter.MaxHeight = 15  # millimeters
renderer.RenderingOptions.HtmlFooter.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
renderer.RenderingOptions.HtmlFooter.DrawDividerLine = True

# Ensure sufficient bottom margin
renderer.RenderingOptions.MarginBottom = 25  # mm

# Build a header using an image asset
renderer.RenderingOptions.HtmlHeader = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlHeader.MaxHeight = 20  # millimeters
renderer.RenderingOptions.HtmlHeader.HtmlFragment = "<img src='iron.png'>"
renderer.RenderingOptions.HtmlHeader.BaseUrl = os.path.abspath("C:/Users/lyty1/OneDrive/Documents/IronPdfPythonNew")

# Ensure sufficient top margin
renderer.RenderingOptions.MarginTop = 25  # mm
PYTHON

En-tête et pied de page Textuel

from ironpdf import *

# Initiate PDF Renderer
renderer = ChromePdfRenderer()

# Add a text header to every page
renderer.RenderingOptions.FirstPageNumber = 1  # use 2 if a cover page will be appended
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.CenterText = "{url}"
renderer.RenderingOptions.TextHeader.Font = FontTypes.Helvetica
renderer.RenderingOptions.TextHeader.FontSize = 12
renderer.RenderingOptions.MarginTop = 25  # create 25mm space for header

# Add a text footer to every page
renderer.RenderingOptions.TextFooter.DrawDividerLine = True
renderer.RenderingOptions.TextFooter.Font = FontTypes.Arial
renderer.RenderingOptions.TextFooter.FontSize = 10
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
renderer.RenderingOptions.MarginBottom = 25  # create 25mm space for footer
from ironpdf import *

# Initiate PDF Renderer
renderer = ChromePdfRenderer()

# Add a text header to every page
renderer.RenderingOptions.FirstPageNumber = 1  # use 2 if a cover page will be appended
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.CenterText = "{url}"
renderer.RenderingOptions.TextHeader.Font = FontTypes.Helvetica
renderer.RenderingOptions.TextHeader.FontSize = 12
renderer.RenderingOptions.MarginTop = 25  # create 25mm space for header

# Add a text footer to every page
renderer.RenderingOptions.TextFooter.DrawDividerLine = True
renderer.RenderingOptions.TextFooter.Font = FontTypes.Arial
renderer.RenderingOptions.TextFooter.FontSize = 10
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
renderer.RenderingOptions.MarginBottom = 25  # create 25mm space for footer
PYTHON

Plans et Signets

Un plan, également connu comme un "signet", est un outil qui vous aide à accéder rapidement aux pages importantes dans un document PDF. Si vous utilisez Adobe Acrobat Reader, vous pouvez voir ces signets (qui peuvent être organisés dans une hiérarchie) dans la barre latérale de l'application.

La bibliothèque IronPDF for Python rend encore plus facile la manipulation de signets. Elle peut automatiquement incorporer tout signet existant à partir de documents PDF. De plus, vous pouvez ajouter plus de signets, les éditer ou les organiser en groupes avec IronPDF.

from ironpdf import *

# Load an existing PDF document.
pdf = PdfDocument.FromFile("existing.pdf")

# Add bookmarks to the PDF
pdf.Bookmarks.AddBookMarkAtEnd("Author's Note", 2)
pdf.Bookmarks.AddBookMarkAtEnd("Table of Contents", 3)

# Create a new bookmark and add nested bookmarks
summaryBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Summary", 17)
summaryBookmark.Children.AddBookMarkAtStart("Conclusion", 18)

# Add additional bookmarks
pdf.Bookmarks.AddBookMarkAtEnd("References", 20)

# Save the PDF with new bookmarks
pdf.SaveAs("existing.pdf")
from ironpdf import *

# Load an existing PDF document.
pdf = PdfDocument.FromFile("existing.pdf")

# Add bookmarks to the PDF
pdf.Bookmarks.AddBookMarkAtEnd("Author's Note", 2)
pdf.Bookmarks.AddBookMarkAtEnd("Table of Contents", 3)

# Create a new bookmark and add nested bookmarks
summaryBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Summary", 17)
summaryBookmark.Children.AddBookMarkAtStart("Conclusion", 18)

# Add additional bookmarks
pdf.Bookmarks.AddBookMarkAtEnd("References", 20)

# Save the PDF with new bookmarks
pdf.SaveAs("existing.pdf")
PYTHON

Ajouter et éditer des annotations

Vous pouvez ajouter et éditer des annotations dans des documents PDF avec IronPDF for Python. Les annotations peuvent être utilisées pour mettre en valeur du texte, ajouter des commentaires ou créer des liens. Vous pouvez aussi éditer les annotations existantes.

from ironpdf import *

# Load an existing PDF
pdf = PdfDocument("existing.pdf")

# Create a TextAnnotation object
annotation = TextAnnotation()
annotation.Title = "This is the title"
annotation.Subject = "This is a subject"
annotation.Contents = "This is the comment content..."
annotation.Icon = TextAnnotation.AnnotationIcon.Help
annotation.Opacity = 0.9
annotation.Printable = False
annotation.Hidden = False
annotation.OpenByDefault = True
annotation.ReadOnly = False
annotation.Rotateable = True

# Add the annotation to a specific page and location within the PDF
pdf.AddTextAnnotation(annotation, 1, 150, 250)

# Save the PDF with annotations
pdf.SaveAs("existing.pdf")
from ironpdf import *

# Load an existing PDF
pdf = PdfDocument("existing.pdf")

# Create a TextAnnotation object
annotation = TextAnnotation()
annotation.Title = "This is the title"
annotation.Subject = "This is a subject"
annotation.Contents = "This is the comment content..."
annotation.Icon = TextAnnotation.AnnotationIcon.Help
annotation.Opacity = 0.9
annotation.Printable = False
annotation.Hidden = False
annotation.OpenByDefault = True
annotation.ReadOnly = False
annotation.Rotateable = True

# Add the annotation to a specific page and location within the PDF
pdf.AddTextAnnotation(annotation, 1, 150, 250)

# Save the PDF with annotations
pdf.SaveAs("existing.pdf")
PYTHON

Ajouter des fonds et des avant-plans

IronPDF for Python vous permet d'ajouter des fonds et des avant-plans aux documents PDF. Cela peut être utile pour ajouter des filigranes, créer des modèles personnalisés, ou simplement rendre vos documents PDF plus attrayants visuellement. Vous pouvez utiliser des images, des couleurs ou des dégradés comme fonds ou avant-plans.

from ironpdf import *

# Instantiate Renderer for PDF creation
renderer = ChromePdfRenderer()

# Render a PDF from a given URL
pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

# Add a background PDF
pdf.AddBackgroundPdf("MyBackground.pdf")

# Add a foreground overlay PDF to the first page
pdf.AddForegroundOverlayPdfToPage(0, "MyForeground.pdf", 0)

# Save the merged PDF with background and foreground
pdf.SaveAs("Complete.pdf")
from ironpdf import *

# Instantiate Renderer for PDF creation
renderer = ChromePdfRenderer()

# Render a PDF from a given URL
pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

# Add a background PDF
pdf.AddBackgroundPdf("MyBackground.pdf")

# Add a foreground overlay PDF to the first page
pdf.AddForegroundOverlayPdfToPage(0, "MyForeground.pdf", 0)

# Save the merged PDF with background and foreground
pdf.SaveAs("Complete.pdf")
PYTHON

Estampillage et filigrane

IronPDF for Python vous permet de tamponner et apposer des filigranes sur les documents PDF. Cela peut être utile pour ajouter des informations de copyright, empêcher la copie non autorisée, ou simplement rendre vos documents PDF plus professionnels. Vous pouvez tamponner des documents PDF avec du texte, des images ou des filigranes. Vous pouvez également contrôler la taille, la position et l'opacité des tampons et des filigranes.

Appliquer un tampon sur un PDF

Vous pouvez appliquer un tampon à un document PDF avec IronPDF for Python. Cela peut être utile pour ajouter un logo, une signature, ou d'autres informations d'identification à un document PDF. Vous pouvez choisir le type de tampon, la position et la taille. Vous pouvez aussi régler l'opacité du tampon.

from ironpdf import *

# Define an HTML Stamper to apply an image stamp
stamper = HtmlStamper("<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'/>")
stamper.HorizontalAlignment = HorizontalAlignment.Center
stamper.VerticalAlignment = VerticalAlignment.Bottom
stamper.IsStampBehindContent = False
stamper.Opacity = 30

# Load existing PDF and apply the stamp
pdf = PdfDocument.FromFile("Sample.pdf")
pdf.ApplyStamp(stamper).SaveAs("stampedimage.pdf")
from ironpdf import *

# Define an HTML Stamper to apply an image stamp
stamper = HtmlStamper("<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'/>")
stamper.HorizontalAlignment = HorizontalAlignment.Center
stamper.VerticalAlignment = VerticalAlignment.Bottom
stamper.IsStampBehindContent = False
stamper.Opacity = 30

# Load existing PDF and apply the stamp
pdf = PdfDocument.FromFile("Sample.pdf")
pdf.ApplyStamp(stamper).SaveAs("stampedimage.pdf")
PYTHON

Ajouter un filigrane à un PDF

IronPDF for Python vous permet d'ajouter un filigrane à un document PDF. Cela peut être utile pour empêcher la copie non autorisée ou simplement rendre vos documents PDF plus professionnels. Vous pouvez choisir le texte, la police, la taille et la couleur du filigrane. Vous pouvez également définir l'opacité du filigrane.

from ironpdf import *

# Instantiate the Renderer and create a PdfDocument from a URL
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

# Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center)

# Save the watermarked PDF
pdf.SaveAs("Watermarked.pdf")
from ironpdf import *

# Instantiate the Renderer and create a PdfDocument from a URL
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

# Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center)

# Save the watermarked PDF
pdf.SaveAs("Watermarked.pdf")
PYTHON

Utiliser les formulaires dans les PDFs

Vous pouvez créer et éditer des formulaires dans des documents PDF avec IronPDF for Python. Cela peut être utile pour collecter des données des utilisateurs ou simplement rendre vos documents PDF plus interactifs. Vous pouvez ajouter des champs de formulaire tels que des zones de texte, des cases à cocher, et des boutons radio. Vous pouvez aussi recueillir des données de formulaire des utilisateurs.

Créer et éditer des formulaires

from ironpdf import *

# HTML content for a form with text inputs, radio buttons, and checkboxes
form_html = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
            First name: <br> <input type='text' name='firstname' value=''> <br>
            Last name: <br> <input type='text' name='lastname' value=''> <br>
            <br>
            <p>Please specify your gender:</p>
            <input type='radio' id='female' name='gender' value= 'Female'>
            <label for='female'>Female</label> <br>
            <br>
            <input type='radio' id='male' name='gender' value='Male'>
            <label for='male'>Male</label> <br>
            <br>
            <input type='radio' id='non-binary/other' name='gender' value='Non-Binary / Other'>
            <label for='non-binary/other'>Non-Binary / Other</label>
            <br>

            <p>Please select all medical conditions that apply:</p>
            <input type='checkbox' id='condition1' name='Hypertension' value='Hypertension'>
            <label for='condition1'> Hypertension</label><br>
            <input type='checkbox' id='condition2' name='Heart Disease' value='Heart Disease'>
            <label for='condition2'> Heart Disease</label><br>
            <input type='checkbox' id='condition3' name='Stroke' value='Stroke'>
            <label for='condition3'> Stroke</label><br>
            <input type='checkbox' id='condition4' name='Diabetes' value='Diabetes'>
            <label for='condition4'> Diabetes</label><br>
            <input type='checkbox' id='condition5' name='Kidney Disease' value='Kidney Disease'>
            <label for='condition5'> Kidney Disease</label><br>
        </form>
    </body>
</html>
"""

# Instantiate Renderer and enable form creation
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

# Render the form HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_html).SaveAs("BasicForm.pdf")

# Open the form PDF and update form values
form_document = PdfDocument.FromFile("BasicForm.pdf")

# Update and read the form fields
first_name_field = form_document.Form.FindFormField("firstname")
first_name_field.Value = "Minnie"
print(f"FirstNameField value: {first_name_field.Value}")

last_name_field = form_document.Form.FindFormField("lastname")
last_name_field.Value = "Mouse"
print(f"LastNameField value: {last_name_field.Value}")

# Save the filled form PDF
form_document.SaveAs("FilledForm.pdf")
from ironpdf import *

# HTML content for a form with text inputs, radio buttons, and checkboxes
form_html = """
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <form>
            First name: <br> <input type='text' name='firstname' value=''> <br>
            Last name: <br> <input type='text' name='lastname' value=''> <br>
            <br>
            <p>Please specify your gender:</p>
            <input type='radio' id='female' name='gender' value= 'Female'>
            <label for='female'>Female</label> <br>
            <br>
            <input type='radio' id='male' name='gender' value='Male'>
            <label for='male'>Male</label> <br>
            <br>
            <input type='radio' id='non-binary/other' name='gender' value='Non-Binary / Other'>
            <label for='non-binary/other'>Non-Binary / Other</label>
            <br>

            <p>Please select all medical conditions that apply:</p>
            <input type='checkbox' id='condition1' name='Hypertension' value='Hypertension'>
            <label for='condition1'> Hypertension</label><br>
            <input type='checkbox' id='condition2' name='Heart Disease' value='Heart Disease'>
            <label for='condition2'> Heart Disease</label><br>
            <input type='checkbox' id='condition3' name='Stroke' value='Stroke'>
            <label for='condition3'> Stroke</label><br>
            <input type='checkbox' id='condition4' name='Diabetes' value='Diabetes'>
            <label for='condition4'> Diabetes</label><br>
            <input type='checkbox' id='condition5' name='Kidney Disease' value='Kidney Disease'>
            <label for='condition5'> Kidney Disease</label><br>
        </form>
    </body>
</html>
"""

# Instantiate Renderer and enable form creation
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

# Render the form HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_html).SaveAs("BasicForm.pdf")

# Open the form PDF and update form values
form_document = PdfDocument.FromFile("BasicForm.pdf")

# Update and read the form fields
first_name_field = form_document.Form.FindFormField("firstname")
first_name_field.Value = "Minnie"
print(f"FirstNameField value: {first_name_field.Value}")

last_name_field = form_document.Form.FindFormField("lastname")
last_name_field.Value = "Mouse"
print(f"LastNameField value: {last_name_field.Value}")

# Save the filled form PDF
form_document.SaveAs("FilledForm.pdf")
PYTHON

Conclusion

IronPDF for Python est une puissante bibliothèque Python PDF qui vous permet de créer, manipuler, et éditer des documents PDF depuis Python. Avec cette bibliothèque, la manipulation des documents PDF est devenue remarquablement facile. Elle offre un large éventail de fonctionnalités, y compris la possibilité de modifier la structure du document, manipuler les pages, fusionner et diviser des PDFs, éditer les propriétés du document, et ajouter et utiliser des métadonnées PDF.

IronPDF for Python est conviviale et peut être intégrée sans problème dans tout projet Python. Elle sert d'outil précieux pour toute personne qui a besoin de travailler avec des documents PDF en Python. La licence IronPDF for Python commence à partir de $799. Vous pouvez trouver plus d'informations sur le site Web d'IronPDF.

Questions Fréquemment Posées

Comment puis-je modifier des fichiers PDF en Python ?

Vous pouvez utiliser IronPDF pour Python pour éditer des fichiers PDF en insérant des signatures, en ajoutant des pieds de page HTML, en intégrant des filigranes et en incluant des annotations de manière programmatique.

Quelles sont les étapes impliquées dans l'installation d'IronPDF pour Python ?

Pour installer IronPDF pour Python, vous pouvez utiliser l'installateur pip en exécutant pip install ironpdf dans votre interface de ligne de commande.

Comment puis-je ajouter un filigrane à un PDF en utilisant Python ?

Avec IronPDF pour Python, vous pouvez ajouter des filigranes à un PDF en accédant au document PDF et en utilisant les méthodes de la bibliothèque pour intégrer des images ou du texte de filigrane.

Puis-je fusionner plusieurs fichiers PDF en un seul avec Python ?

Oui, IronPDF vous permet de fusionner plusieurs PDFs en un seul document en chargeant les PDFs et en utilisant la fonction Merge.

Comment puis-je appliquer une signature numérique à un PDF en Python ?

IronPDF supporte les signatures numériques avec des certificats .pfx et .p12, permettant de signer les PDFs pour garantir leur intégrité.

Est-il possible d'ajouter des métadonnées à un PDF avec IronPDF ?

Oui, vous pouvez ajouter des métadonnées telles que l'auteur, le titre et les mots-clés en accédant à la propriété MetaData d'un objet PdfDocument et en définissant les champs souhaités.

Comment puis-je ajouter des en-têtes et pieds de page à un PDF en Python ?

Vous pouvez ajouter du texte et des en-têtes et pieds de page HTML aux PDFs en utilisant IronPDF, avec des options pour personnaliser leur contenu et apparence.

Quelles méthodes puis-je utiliser pour compresser les fichiers PDF en Python ?

IronPDF vous permet de compresser les PDFs en utilisant la méthode CompressImages, qui réduit la taille des images et peut être configurée pour différents niveaux de qualité.

Comment puis-je créer des formulaires PDF interactifs en Python ?

IronPDF permet la création et l'édition de formulaires PDF interactifs, permettant aux utilisateurs de remplir des champs de texte, des cases à cocher et des boutons radio.

Quels types d'annotations peuvent être ajoutés à un PDF en utilisant IronPDF ?

IronPDF vous permet d'ajouter des annotations de texte, des commentaires, des liens et de modifier les annotations existantes dans les documents PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite