Convertir un PDF en Différents Formats d'Image en Python
Vue d’ensemble
Cet article explique comment convertir un PDF en différents formats d’image en utilisant Python. Il couvre les sujets suivants.
Format d’Image: TIFF
- Python PDF en TIFF
- Python Convertir PDF en TIFF
- Python Convertir des Pages Particulières ou Uniques de PDF en TIFF
Format d’Image: BMP
Format d’Image: EMF
Format d’image: JPG
Format d’image: PNG
Format d’image: GIF
Format d’image: SVG
Python Convertir PDF en Image
Aspose.PDF pour Python utilise plusieurs approches pour convertir PDF en image. Généralement parlant, nous utilisons deux approches : la conversion en utilisant l’approche Device et la conversion en utilisant SaveOption. Cette section vous montrera comment convertir des documents PDF en formats d’image tels que BMP, JPEG, GIF, PNG, EMF, TIFF, et SVG en utilisant l’une de ces approches.
Il y a plusieurs classes dans la bibliothèque qui vous permettent d’utiliser un dispositif virtuel pour transformer des images. DocumentDevice est orienté pour la conversion de l’ensemble du document, mais ImageDevice - pour une page particulière.
Convertir un PDF en utilisant la classe DocumentDevice
Aspose.PDF pour Python rend possible la conversion des pages PDF en images TIFF.
La classe TiffDevice (basée sur DocumentDevice) vous permet de convertir des pages PDF en images TIFF. Cette classe fournit une méthode nommée Process
qui vous permet de convertir toutes les pages d’un fichier PDF en une seule image TIFF.
Essayez de convertir un PDF en TIFF en ligne Aspose.PDF for Python via .NET vous présente l’application gratuite en ligne “PDF to TIFF”, où vous pouvez essayer d’explorer la fonctionnalité et la qualité de son fonctionnement.
Convertir les pages PDF en une image TIFF
Aspose.PDF for Python explique comment convertir toutes les pages d’un fichier PDF en une seule image TIFF :
Étapes : Convertir PDF en TIFF en Python
-
Créez un objet de la classe Document.
-
Créez des objets TiffSettings et TiffDevice
-
Appelez la méthode TiffDevice.Process() pour convertir le document PDF en TIFF.
-
Pour définir les propriétés du fichier de sortie, utilisez la classe TiffSettings.
Le code suivant montre comment convertir toutes les pages PDF en une seule image TIFF.
from asposepdf import Api, Device
# initier la licence
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)
# Ouvrir le document PDF
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Resolution
resolution = Device.Resolution(300)
# Créer un objet TiffSettings
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False
# Créer un périphérique TIFF
tiffDevice = Device.TiffDevice(resolution, tiffSettings)
# Convertir une page particulière et enregistrer l'image dans le flux
tiffDevice.process(document, output_image)
Convertir un PDF en utilisant la classe ImageDevice
ImageDevice
est l’ancêtre de BmpDevice
, JpegDevice
, GifDevice
, PngDevice
et EmfDevice
.
-
La classe BmpDevice vous permet de convertir des pages PDF en images BMP.
-
La classe EmfDevice vous permet de convertir des pages PDF en images EMF.
-
La classe JpegDevice vous permet de convertir des pages PDF en images JPEG.
-
La classe PngDevice vous permet de convertir des pages PDF en images PNG.
-
La classe GifDevice vous permet de convertir des pages PDF en images GIF.
Prenons un regard sur comment convertir une page PDF en image.
La classe BmpDevice fournit une méthode nommée Process qui vous permet de convertir une page particulière du fichier PDF au format d’image BMP. Les autres classes ont la même méthode. Donc, si nous avons besoin de convertir une page PDF en image, nous devons simplement instancier la classe requise.
Les étapes suivantes et le fragment de code en Python montrent cette possibilité
- Convertir PDF en BMP en Python
- Convertir PDF en EMF en Python
- Convertir PDF en JPG en Python
- Convertir PDF en PNG en Python
- Convertir PDF en GIF en Python
Étapes : PDF vers Image (BMP, EMF, JPG, PNG, GIF) en Python
- Chargez le fichier PDF en utilisant la classe Document.
- Créez une instance de sous-classe de ImageDevice c’est-à-dire.
- BmpDevice (pour convertir PDF en BMP)
- EmfDevice (pour convertir PDF en Emf)
- JpegDevice (pour convertir PDF en JPG)
- PngDevice (pour convertir PDF en PNG)
- GifDevice (pour convertir PDF en GIF)
- Appelez la méthode ImageDevice.Process() pour effectuer la conversion PDF en image.
Convertir PDF en BMP
from asposepdf import Api, Device
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Résolution
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)
for i in range(0, document.getPages.size):
# Créer un nom de fichier pour l'enregistrement
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
# Convertir une page particulière et enregistrer l'image dans le fichier
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF en EMF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Résolution
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)
for i in range(0, document.getPages.size):
# Créer un nom de fichier pour enregistrer
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
# Convertir une page particulière et enregistrer l'image dans le fichier
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF en JPEG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Résolution
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)
for i in range(0, document.getPages.size):
# Créer un nom de fichier pour enregistrer
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
# Convertir une page particulière et enregistrer l'image dans le fichier
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF en PNG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Resolution
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)
for i in range(0, document.getPages.size):
# Créer un nom de fichier pour enregistrer
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
# Convertir une page particulière et enregistrer l'image dans le fichier
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF en GIF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Ouvrir le document PDF
document = Api.Document(input_pdf)
# Créer un objet Resolution
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)
for i in range(0, document.getPages.size):
# Créer un nom de fichier pour enregistrer
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
# Convertir une page particulière et enregistrer l'image dans le fichier
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Essayez de convertir PDF en PNG en ligne
À titre d’exemple de la façon dont nos applications gratuites fonctionnent, veuillez vérifier la fonctionnalité suivante.
Aspose.PDF pour Python vous présente une application en ligne gratuite “PDF en PNG”, où vous pouvez essayer d’examiner la fonctionnalité et la qualité de son fonctionnement.
Convertir PDF en utilisant la classe SaveOptions
Cette partie de l’article vous montre comment convertir un PDF en SVG en utilisant Python et la classe SaveOptions.
Essayez de convertir PDF en SVG en ligne
Aspose.PDF pour Python via .NET vous présente une application en ligne gratuite “PDF en SVG”, où vous pouvez essayer d’examiner la fonctionnalité et la qualité de son fonctionnement.
Scalable Vector Graphics (SVG) est une famille de spécifications d’un format de fichier basé sur XML pour les graphiques vectoriels bidimensionnels, à la fois statiques et dynamiques (interactifs ou animés). La spécification SVG est une norme ouverte qui est en cours de développement par le World Wide Web Consortium (W3C) depuis 1999.
Les images SVG et leurs comportements sont définis dans des fichiers texte XML. Cela signifie qu’ils peuvent être recherchés, indexés, scriptés et, si nécessaire, compressés. En tant que fichiers XML, les images SVG peuvent être créées et éditées avec n’importe quel éditeur de texte, mais il est souvent plus pratique de les créer avec des programmes de dessin comme Inkscape.
Aspose.PDF pour Python prend en charge la fonctionnalité de conversion d’image SVG au format PDF et offre également la possibilité de convertir des fichiers PDF au format SVG. Pour répondre à cette exigence, la classe SvgSaveOptions a été introduite dans l’espace de noms Aspose.PDF. Instanciez un objet de SvgSaveOptions et passez-le en tant que deuxième argument à la méthode Document.Save().
Le code suivant montre les étapes pour convertir un fichier PDF en format SVG avec Python.
Étapes : Convertir un PDF en SVG en Python
- Créez un objet de la classe Document.
- Créez un objet SvgSaveOptions avec les paramètres nécessaires.
- Appelez la méthode Document.Save() et passez-lui l’objet SvgSaveOptions pour convertir le document PDF en SVG.
Convertir PDF en SVG
from asposepdf import Api
documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)