Convertir le PDF en formats d'image en Python

Python Convertir le PDF en image

Aspose.PDF for Python via .NET prend en charge plusieurs méthodes pour convertir le contenu PDF en images. En pratique, la plupart des flux de travail utilisent l’une des deux options :

  • l’approche Device pour le rendu des pages PDF en formats d’images raster
  • l’approche SaveOptions pour l’exportation du contenu PDF vers SVG

Cet article montre comment convertir des fichiers PDF en TIFF, BMP, EMF, JPEG, PNG, GIF et SVG.

La bibliothèque comprend plusieurs classes de rendu. DocumentDevice est conçu pour la conversion de l’ensemble du document, tandis que ImageDevice cible des pages individuelles.

Convertir le PDF en utilisant la classe DocumentDevice

Utiliser DocumentDevice lorsque vous souhaitez rendre le PDF complet en un seul fichier TIFF multipage.

Le TiffDevice la classe est basée sur DocumentDevice et fournit le processus méthode pour convertir toutes les pages d’un fichier PDF en une sortie TIFF unique.

Convertir les pages PDF en une image TIFF

Aspose.PDF for Python via .NET peut rendre chaque page d’un fichier PDF en une image TIFF.

Étapes : Convertir le PDF en TIFF en Python

  1. Chargez le PDF source avec le Document classe.
  2. Créer TiffSettings et TiffDevice objets.
  3. Configurez les options TIFF telles que la compression, la profondeur de couleur et la gestion des pages blanches.
  4. Appeler le process méthode pour écrire le fichier TIFF.

Le fragment de code suivant montre comment convertir toutes les pages PDF en une seule image TIFF.

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_TIFF(infile, outfile):
    document = ap.Document(infile)

    resolution = ap.devices.Resolution(300)
    tiffSettings = ap.devices.TiffSettings()
    tiffSettings.compression = ap.devices.CompressionType.LZW
    tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
    tiffSettings.skip_blank_pages = False

    tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
    tiffDevice.process(document, f"{outfile}.tiff")

    print(infile + " converted into " + outfile)

Convertir le PDF en utilisant la classe ImageDevice

Utiliser ImageDevice Lorsque vous avez besoin d’une sortie page par page au format d’image raster.

ImageDevice est la classe de base pour BmpDevice, JpegDevice, GifDevice, PngDevice, et EmfDevice.

  • Le BmpDevice class vous permet de convertir les pages PDF en images BMP.
  • Le EmfDevice La classe vous permet de convertir des pages PDF en images EMF.
  • Le JpegDevice La classe vous permet de convertir les pages PDF en images JPEG.
  • Le PngDevice La classe vous permet de convertir des pages PDF en images PNG.
  • Le GifDevice La classe vous permet de convertir des pages PDF en images GIF.

Le flux de travail est le même pour chaque format : charger le document, créer le dispositif approprié, puis traiter la page requise.

BmpDevice expose le process méthode pour rendre une page spécifique en BMP. Les autres classes d’appareil image suivent le même modèle, vous pouvez donc changer de format en modifiant la classe d’appareil.

Les liens et exemples de code suivants montrent comment rendre les pages PDF aux formats d’image courants :

Étapes : PDF en image (BMP, EMF, JPG, PNG, GIF) en Python

  1. Chargez le fichier PDF avec le Document classe.
  2. Créer une instance de ce qui est requis ImageDevice sous-classe:
  3. Parcourez les pages que vous voulez exporter.
  4. Appeler le ImageDevice.process() méthode pour enregistrer chaque page en tant qu’image.

Convertir PDF en BMP

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_BMP(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.BmpDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.bmp", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Convertir PDF en EMF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_EMF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.EmfDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.emf", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Convertir le PDF en JPEG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_JPEG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.JpegDevice(resolution)
    page_count = 1

    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.jpeg", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Convertir le PDF en PNG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    device = ap.devices.PngDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

Convertir le PDF en PNG avec la police par défaut

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG_with_default_font(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    rendering_options = ap.RenderingOptions()
    rendering_options.default_font_name = "Arial"

    device = ap.devices.PngDevice(resolution)
    device.rendering_options = rendering_options

    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

Convertir PDF en GIF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_GIF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.GifDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.gif", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

Convertir le PDF en utilisant la classe SaveOptions

Utiliser SaveOptions Lorsque vous voulez exporter le contenu PDF en SVG.

Scalable Vector Graphics (SVG) est un format basé sur XML pour les graphiques vectoriels bidimensionnels. Comme SVG reste vectoriel, il est utile lorsque vous avez besoin d’une sortie évolutive pour le web, l’interface utilisateur ou les flux de conception.

Les fichiers SVG sont basés sur du texte, recherchables et faciles à post-traiter dans d’autres outils.

Aspose.PDF for Python via .NET peut à la fois convertir SVG en PDF et exporter des pages PDF en SVG. Pour la conversion PDF vers SVG, créez un SvgSaveOptions objet et le passer à document.save() méthode.

Les étapes suivantes montrent comment convertir un fichier PDF en SVG avec Python.

Étapes : Convertir le PDF en SVG en Python

  1. Chargez le PDF source à l’aide de Document classe.
  2. Créer un SvgSaveOptions objet et configurez les options requises.
  3. Appeler le document.save() méthode avec le SvgSaveOptions instance pour écrire la sortie SVG.

Convertir le PDF en SVG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_SVG(infile, outfile):
    document = ap.Document(infile)

    save_options = ap.SvgSaveOptions()
    save_options.compress_output_to_zip_archive = False
    save_options.treat_target_file_name_as_directory = True

    document.save(f"{outfile}.svg", save_options)

Conversions associées