Convertir PDF a Diferentes Formatos de Imagen en Python
Visión General
Este artículo explica cómo convertir PDF a diferentes formatos de imagen usando Python. Cubre los siguientes temas.
Formato de Imagen: TIFF
- Python PDF a TIFF
- Python Convertir PDF a TIFF
- Python Convertir Páginas Únicas o Particulares de PDF a TIFF
Formato de Imagen: BMP
Formato de Imagen: EMF
Formato de Imagen: JPG
Formato de Imagen: PNG
Formato de Imagen: GIF
Formato de Imagen: SVG
Python Convertir PDF a Imagen
Aspose.PDF para Python utiliza varios enfoques para convertir PDF a imagen. Generalmente hablando, usamos dos enfoques: conversión usando el enfoque de Dispositivo y conversión usando SaveOption. Esta sección te mostrará cómo convertir documentos PDF a formatos de imagen como BMP, JPEG, GIF, PNG, EMF, TIFF y SVG usando uno de esos enfoques.
Hay varias clases en la biblioteca que te permiten usar un dispositivo virtual para transformar imágenes. DocumentDevice está orientado a la conversión de todo el documento, pero ImageDevice - para una página en particular.
Convertir PDF usando la clase DocumentDevice
Aspose.PDF para Python hace posible convertir páginas de PDF a imágenes TIFF.
La clase TiffDevice (basada en DocumentDevice) te permite convertir páginas PDF a imágenes TIFF. Esta clase proporciona un método llamado Process
que te permite convertir todas las páginas en un archivo PDF a una sola imagen TIFF.
Intenta convertir PDF a TIFF en línea Aspose.PDF para Python a través de .NET te presenta la aplicación gratuita en línea “PDF a TIFF”, donde puedes intentar investigar la funcionalidad y calidad con la que trabaja.
Convertir Páginas de PDF a Una Imagen TIFF
Aspose.PDF para Python explica cómo convertir todas las páginas en un archivo PDF a una sola imagen TIFF:
Pasos: Convertir PDF a TIFF en Python
-
Crear un objeto de la clase Document.
-
Crear objetos TiffSettings y TiffDevice
-
Llama al método TiffDevice.Process() para convertir el documento PDF a TIFF.
-
Para establecer las propiedades del archivo de salida, utiliza la clase TiffSettings.
El siguiente fragmento de código muestra cómo convertir todas las páginas del PDF en una sola imagen TIFF.
from asposepdf import Api, Device
# inicializar licencia
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)
# Abrir documento PDF
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto Resolution
resolution = Device.Resolution(300)
# Crear objeto TiffSettings
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False
# Crear dispositivo TIFF
tiffDevice = Device.TiffDevice(resolution, tiffSettings)
# Convertir una página en particular y guardar la imagen en el flujo
tiffDevice.process(document, output_image)
Convertir PDF usando la clase ImageDevice
ImageDevice
es el ancestro de BmpDevice
, JpegDevice
, GifDevice
, PngDevice
y EmfDevice
.
-
La clase BmpDevice te permite convertir páginas PDF a imágenes BMP.
-
La clase EmfDevice te permite convertir páginas PDF a imágenes EMF.
-
La clase JpegDevice te permite convertir páginas PDF a imágenes JPEG.
-
La clase PngDevice te permite convertir páginas PDF a imágenes PNG.
-
La clase GifDevice te permite convertir páginas PDF a imágenes GIF.
Echemos un vistazo a cómo convertir una página PDF a una imagen.
La clase BmpDevice proporciona un método llamado Process que te permite convertir una página particular del archivo PDF al formato de imagen BMP. Las otras clases tienen el mismo método. Así que, si necesitamos convertir una página PDF a una imagen, simplemente instanciamos la clase requerida.
Los siguientes pasos y fragmento de código en Python muestran esta posibilidad
- Convertir PDF a BMP en Python
- Convertir PDF a EMF en Python
- Convertir PDF a JPG 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 usando la clase Document.
- Cree una instancia de una subclase de ImageDevice, es decir,
- 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)
- Llame al método ImageDevice.Process() para realizar la conversión de PDF a Imagen.
Convertir PDF a BMP
from asposepdf import Api, Device
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto de resolución
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)
for i in range(0, document.getPages.size):
# Crear nombre de archivo para guardar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
# Convertir una página particular y guardar la imagen en archivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF a EMF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto de Resolución
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)
for i in range(0, document.getPages.size):
# Crear nombre de archivo para guardar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
# Convertir una página en particular y guardar la imagen en el archivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF a JPEG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto de Resolución
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)
for i in range(0, document.getPages.size):
# Crear nombre de archivo para guardar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
# Convertir una página en particular y guardar la imagen en el archivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF a PNG
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto de resolución
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)
for i in range(0, document.getPages.size):
# Crear nombre de archivo para guardar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
# Convertir una página particular y guardar la imagen en el archivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Convertir PDF a GIF
from asposepdf import Api, Device
DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# Abrir documento PDF
document = Api.Document(input_pdf)
# Crear objeto de resolución
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)
for i in range(0, document.getPages.size):
# Crear nombre de archivo para guardar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
# Convertir una página particular y guardar la imagen en el archivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Intenta convertir PDF a PNG en línea
Como ejemplo de cómo funcionan nuestras aplicaciones gratuitas, por favor revisa la siguiente característica.
Aspose.PDF para Python te presenta la aplicación gratuita en línea “PDF a PNG”, donde puedes intentar investigar la funcionalidad y calidad con la que trabaja.
Convertir PDF usando la clase SaveOptions
Esta parte del artículo te muestra cómo convertir PDF a SVG usando Python y la clase SaveOptions.
Intenta convertir PDF a SVG en línea
Aspose.PDF para Python a través de .NET te presenta la aplicación gratuita en línea “PDF a SVG”, donde puedes intentar investigar la funcionalidad y calidad con la que trabaja.
Gráficos Vectoriales Escalables (SVG) es una familia de especificaciones de un formato de archivo basado en XML para gráficos vectoriales bidimensionales, tanto estáticos como dinámicos (interactivos o animados). La especificación SVG es un estándar abierto que ha estado en desarrollo por el World Wide Web Consortium (W3C) desde 1999.
Las imágenes SVG y sus comportamientos están definidos en archivos de texto XML. Esto significa que pueden ser buscados, indexados, programados y, si es necesario, comprimidos. Como archivos XML, las imágenes SVG pueden ser creadas y editadas con cualquier editor de texto, pero a menudo es más conveniente crearlas con programas de dibujo como Inkscape.
Aspose.PDF para Python admite la función de convertir imágenes SVG al formato PDF y también ofrece la capacidad de convertir archivos PDF al formato SVG. Para cumplir con este requisito, la clase SvgSaveOptions ha sido introducida en el espacio de nombres Aspose.PDF. Instancie un objeto de SvgSaveOptions y páselo como segundo argumento al método Document.Save().
El siguiente fragmento de código muestra los pasos para convertir un archivo PDF a formato SVG con Python.
Pasos: Convertir PDF a SVG en Python
- Cree un objeto de la clase Document.
- Cree un objeto SvgSaveOptions con las configuraciones necesarias.
- Llame al método Document.Save() y páselo al objeto SvgSaveOptions para convertir el documento PDF a SVG.
Convertir PDF a SVG
from asposepdf import Api
documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)