Convertir PDF a formatos de imagen en Python
Convertir PDF a imágenes en Python
Aspose.PDF for Python via .NET admite varias formas de convertir el contenido de PDF a imágenes. En la práctica, la mayoría de los flujos de trabajo utilizan una de dos opciones:
- el enfoque Device para renderizar páginas PDF a formatos de imagen raster
- el enfoque SaveOptions para exportar contenido PDF a SVG
Este artículo muestra cómo convertir archivos PDF a TIFF, BMP, EMF, JPEG, PNG, GIF y SVG.
La biblioteca incluye múltiples clases de renderizado. DocumentDevice está diseñado para la conversión de todo el documento, mientras ImageDevice apunta a páginas individuales.
Convertir PDF usando la clase DocumentDevice
Use DocumentDevice cuando desee renderizar todo el PDF en un único archivo TIFF de varias páginas.
La clase TiffDevice se basa en DocumentDevice y proporciona el método process para convertir todas las páginas de un archivo PDF en una sola salida TIFF.
Intenta convertir PDF a TIFF en línea
Aspose.PDF for Python via .NET le presenta una aplicación en línea “PDF a TIFF”, donde puede intentar investigar la funcionalidad y la calidad con la que funciona.
Convertir páginas PDF a una sola imagen TIFF
Aspose.PDF for Python via .NET puede renderizar cada página de un archivo PDF en una imagen TIFF.
Pasos: Convertir PDF a TIFF en Python
- Cargue el PDF de origen con la clase Document.
- Cree los objetos TiffSettings y TiffDevice.
- Configure las opciones TIFF, como la compresión, la profundidad de color y el manejo de páginas en blanco.
- Llame al método process para escribir el archivo TIFF.
El siguiente fragmento de código muestra cómo convertir todas las páginas del PDF en una sola imagen 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 PDF usando la clase ImageDevice
Use ImageDevice cuando necesite una salida página por página en un formato de imagen rasterizada.
ImageDevice es la clase base para BmpDevice, JpegDevice, GifDevice, PngDevice, y EmfDevice.
- La clase BmpDevice permite convertir páginas PDF en imágenes BMP.
- La clase EmfDevice permite convertir páginas PDF en imágenes EMF.
- La clase JpegDevice permite convertir páginas PDF en imágenes JPEG.
- La clase PngDevice permite convertir páginas PDF en imágenes PNG.
- La clase GifDevice permite convertir páginas PDF en imágenes GIF.
El flujo de trabajo es el mismo para cada formato: cargar el documento, crear el dispositivo apropiado, luego procesar la página requerida.
BmpDevice expone el método process para renderizar una página específica como BMP. Las demás clases de ImageDevice siguen el mismo patrón, por lo que puede cambiar el formato cambiando la clase del dispositivo.
Los siguientes enlaces y ejemplos de código muestran cómo renderizar páginas PDF a formatos de imagen comunes:
- Convertir PDF a BMP en Python
- Convertir PDF a EMF en Python
- Convertir PDF a JPEG en Python
- Convertir PDF a PNG en Python
- Convertir PDF a GIF en Python
Pasos: PDF a Imagen (BMP, EMF, JPG, PNG, GIF) en Python
- Cargue el archivo PDF con la clase Document.
- Cree una instancia de la subclase requerida de ImageDevice:
- BmpDevice (para convertir PDF a BMP)
- EmfDevice (para convertir PDF a EMF)
- JpegDevice (para convertir PDF a JPG)
- PngDevice (para convertir PDF a PNG)
- GifDevice (para convertir PDF a GIF)
- Recorre las páginas que deseas exportar.
- Llama al ImageDevice.process() método para guardar cada página como una imagen.
Convertir PDF a 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 a 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 PDF a 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 PDF a 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 PDF a PNG con fuente predeterminada
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 a 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)
Intenta convertir PDF a PNG en línea
Como ejemplo de cómo funcionan nuestras aplicaciones, por favor revise la siguiente característica.
Aspose.PDF for Python le presenta la aplicación en línea “PDF a PNG”, donde puede intentar investigar la funcionalidad y la calidad con la que funciona.
Convertir PDF usando la clase SaveOptions
Use SaveOptions cuando desee exportar contenido PDF a SVG.
Intenta convertir PDF a SVG en línea
Aspose.PDF for Python via .NET le presenta una aplicación en línea “PDF a SVG”, donde puede intentar investigar la funcionalidad y la calidad con la que funciona.
Gráficos vectoriales escalables (SVG) es un formato basado en XML para gráficos vectoriales bidimensionales. Debido a que SVG sigue siendo vectorial, es útil cuando necesita una salida escalable para la web, la interfaz de usuario o flujos de trabajo de diseño.
Los archivos SVG son de texto, permiten búsquedas y son fáciles de posprocesar en otras herramientas.
Aspose.PDF for Python via .NET puede convertir SVG a PDF y también exportar páginas PDF a SVG. Para la conversión de PDF a SVG, cree un objeto SvgSaveOptions y páselo al método document.save().
Los siguientes pasos muestran cómo convertir un archivo PDF a SVG con Python.
Pasos: Convertir PDF a SVG en Python
- Cargue el PDF de origen con la clase Document.
- Cree un objeto SvgSaveOptions y configure las opciones necesarias.
- Llame al método document.save() con la instancia de
SvgSaveOptionspara escribir la salida SVG.
Convertir PDF a 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)
Conversiones relacionadas
- Convertir formatos de imagen a PDF cuando necesites reconstruir PDFs a partir de JPG, PNG, TIFF, SVG o de otras fuentes de imágenes.
- Convertir PDF a HTML para una salida compatible con el navegador en lugar de imágenes raster.
- Convertir PDF a otros formatos para flujos de trabajo de exportación de EPUB, Markdown, texto y XPS.


