Bibliothèque Python Open Source pour traiter les fichiers PDF
L'API Python gratuite permet de linéariser les PDF et d'accéder aux PDF cryptés. Il prend en charge la création de PDF à partir de zéro, la copie de pages d'un PDF à un autre, la division ou la fusion de PDF et bien d'autres.
PikePDF est une bibliothèque Python PDF très simple qui permet aux développeurs de logiciels de travailler avec des fichiers PDF dans des applications Python. Il est basé sur QPDF, une puissante bibliothèque de manipulation et de réparation de PDF. PikePDF est une bibliothèque de transformation de contenu PDF et fournit un accès de bas niveau aux fichiers PDF. Cela signifie que les utilisateurs doivent connaître les composants internes du PDF et se familiariser avec les spécifications PDF. La bibliothèque est open source et est disponible sous la licence MIT pour un usage public. La bibliothèque est open source et est disponible sous la licence MPL-2.0.
Le PikePDF prend en charge la linéarisation des PDF et l'accès aux PDF cryptés. Il a inclus un ensemble très puissant de fonctionnalités liées à la gestion des PDF, telles que la création de PDF à partir de rien, la copie de pages d'un PDF à un autre, le fractionnement ou la fusion de PDF, l'extraction d'images ou de texte à partir de PDF, le remplacement de contenu dans un PDF, la prise en charge de la réparation de PDF, la page la prise en charge des paramètres, la gestion des métadonnées PDF, l'édition de métadonnées PDF XMP protégées par mot de passe, la transformation de PDF existants et bien plus encore.
.
Premiers pas avec PikePDF
PikePDF nécessite Python 3.6 et supérieur. Vous pouvez installer PikePDF en utilisant pip. Veuillez utiliser la commande suivante pour l'installer.
Installer PikePDF via pip
pip install pikepdf
Copier des pages d'un PDF à un autre via Python
La bibliothèque open source PikePDF offre la capacité qui permet aux développeurs de logiciels de copayer une page d'un PDF à un autre avec seulement quelques lignes de code Python. La copie de pages entre des objets PDF créera une copie superficielle de la page source dans le fichier PDF cible et, par conséquent, la modification des pages n'affectera pas les documents PDF originaux. Il est également possible de remplacer des pages spécifiques par du contenu personnalisé. Il est également possible de copier des pages dans un PDF particulier.
Ouvrir et manipuler des documents PDF via Python
# PDF Documents Manipulation
from pikepdf import Pdf
new_pdf = Pdf.new()
with Pdf.open('sample.pdf') as pdf:
pdf.save('output.pdf')
# Copying pages from other PDFs
pdf = Pdf.open('../tests/resources/fourpages.pdf')
appendix = Pdf.open('../tests/resources/sandwich.pdf')
pdf.pages.extend(appendix.pages)
Fractionnement et fusion de PDF via Python
La bibliothèque PDF PikePDF donne aux développeurs de logiciels le pouvoir d'accéder aux fichiers PDF existants et de les diviser facilement en plusieurs fichiers PDF. Lors de la division du PDF, tout ce dont nous avons besoin, c'est que les nouveaux PDF doivent contenir les pages de destination. La bibliothèque s'assure également de transférer les données associées à chaque page, de sorte que chaque page soit autonome. La bibliothèque comprenait également la prise en charge de la fusion ou de la concaténation de plusieurs documents PDF en un seul. Il est également possible d'inverser l'ordre des pages PDF avec seulement quelques lignes de code.
Diviser et fusionner des documents PDF via Python
# PDF Splitting
pdf = Pdf.open('../tests/resources/fourpages.pdf')
for n, page in enumerate(pdf.pages):
dst = Pdf.new()
dst.pages.append(page)
dst.save(f'{n:02d}.pdf')
# Combine Multiple PDF pages into a single One
from glob import glob
pdf = Pdf.new()
for file in glob('*.pdf'):
src = Pdf.open(file)
pdf.pages.extend(src.pages)
pdf.save('merged.pdf')
Gérer les images dans un document PDF via Python
La bibliothèque PDF PikePDF permet aux développeurs de logiciels de gérer facilement les images dans un fichier PDF à l'aide de commandes Python. La bibliothèque a inclus plusieurs fonctions importantes liées à la gestion des images, telles que la copie d'images dans une page PDF, l'ouverture et l'affichage de PDF, le redimensionnement d'images, la manipulation d'images dans un PDF, l'extraction d'images à partir d'un PDF, le remplacement d'images, la suppression d'une image à partir d'un PDF, etc. .
Extraire l'image et la remplacer en PDF via Python
# Extract Image & Replace PDF Images
import zlib
rawimage = pdfimage.obj
pillowimage = pdfimage.as_pil_image()
greyscale = pillowimage.convert('L')
greyscale = greyscale.resize((32, 32))
rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
rawimage.ColorSpace = Name("/DeviceGray")
rawimage.Width, rawimage.Height = 32, 32
Gestion des métadonnées PDF via Python
Les métadonnées PDF incluent des informations très utiles sur un document PDF telles que le nom de l'auteur, la date de création et de modification, les mots-clés, les informations de copyright, etc. La bibliothèque PDF PikePDF a inclus des fonctionnalités complètes pour accéder et lire les métadonnées, extraire les métadonnées, supprimer les entrées de métadonnées des documents PDF. L'exemple de code suivant montre comment extraire les métadonnées des documents PDF.
Comment extraire des métadonnées PDF via Python
# Extract PDF Metadata
import pikepdf
import sys
# get the target pdf file from the command-line arguments
pdf_filename = sys.argv[1]
# read the pdf file
pdf = pikepdf.Pdf.open(pdf_filename)
docinfo = pdf.docinfo
for key, value in docinfo.items():
print(key, ":", value)