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 Individuales 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 for Python utiliza varios enfoques para convertir PDF a imagen. Generalmente hablando, usamos dos enfoques: conversión usando el enfoque Device y conversión usando SaveOption. Esta sección le mostrará cómo convertir documentos PDF a formatos de imagen como BMP, JPEG, GIF, PNG, EMF, TIFF y SVG utilizando uno de esos enfoques.
Hay varias clases en la biblioteca que le 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 particular.
Convertir PDF usando la clase DocumentDevice
Aspose.PDF para Python hace posible convertir páginas PDF a imágenes TIFF.
La clase TiffDevice (basada en DocumentDevice) le permite convertir páginas PDF a imágenes TIFF. Esta clase proporciona un método llamado process que le permite convertir todas las páginas en un archivo PDF a una sola imagen TIFF.
Intente convertir PDF a TIFF en línea Aspose.PDF for Python via .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 de un archivo PDF a una sola imagen TIFF:
Pasos: Convertir PDF a TIFF en Python
-
Crea un objeto de la clase Document.
-
Crea objetos TiffSettings y TiffDevice.
-
Llame al método process para convertir el documento PDF a TIFF.
-
Para establecer las propiedades del archivo de salida, use la clase TiffSettings.
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
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_tiff.tiff"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto Resolution
resolution = ap.devices.Resolution(300)
# Crear objeto TiffSettings
tiffSettings = ap.devices.TiffSettings()
tiffSettings.compression = ap.devices.CompressionType.LZW
tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
tiffSettings.skip_blank_pages = False
# Crear dispositivo TIFF
tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
# Convertir una página particular y guardar la imagen en el flujo
tiffDevice.process(document, output_pdf)
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 de PDF a una imagen.
La clase BmpDevice proporciona un método llamado process que te permite convertir una página específica del archivo PDF al formato de imagen BMP. Las otras clases tienen el mismo método. Entonces, si necesitamos convertir una página de PDF a una imagen, simplemente instanciamos la clase requerida.
Los siguientes pasos y fragmentos 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
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_bmp"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto Resolution
resolution = ap.devices.Resolution(300)
device = ap.devices.BmpDevice(resolution)
for i in range(0, len(document.pages)):
# Crear archivo para guardar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.bmp", 'x'
)
# Convertir una página en particular y guardar la imagen en el flujo
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Convertir PDF a EMF
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_emf"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto Resolution
resolution = ap.devices.Resolution(300)
device = ap.devices.EmfDevice(resolution)
for i in range(0, len(document.pages)):
# Crear archivo para guardar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.emf", 'x'
)
# Convertir una página particular y guardar la imagen en el flujo
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Convertir PDF a JPEG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_jpeg"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto Resolution
resolution = ap.devices.Resolution(300)
device = ap.devices.JpegDevice(resolution)
for i in range(0, len(document.pages)):
# Crear archivo para guardar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.jpeg", "x"
)
# Convertir una página particular y guardar la imagen en el flujo
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Convertir PDF a PNG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_png"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto de resolución
resolution = ap.devices.Resolution(300)
device = ap.devices.PngDevice(resolution)
for i in range(0, len(document.pages)):
# Crear archivo para guardar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.png", 'x'
)
# Convertir una página en particular y guardar la imagen en el flujo
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Convertir PDF a GIF
import aspose.pdf as ap
input_pdf = DIR_INPUT + "many_pages.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_gif"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Crear objeto de resolución
resolution = ap.devices.Resolution(300)
device = ap.devices.GifDevice(resolution)
for i in range(0, len(document.pages)):
# Crear archivo para guardar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.gif", 'x'
)
# Convertir una página en particular y guardar la imagen en el flujo
device.process(document.pages[i + 1], imageStream)
# Cerrar flujo
imageStream.close()
Intenta convertir PDF a PNG en línea
Como ejemplo de cómo funcionan nuestras aplicaciones gratuitas, por favor revisa la siguiente función.
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 via .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.
Scalable Vector Graphics (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 se definen 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 la configuración necesaria.
- Llame al método Document.Save() y pase el objeto SvgSaveOptions para convertir el documento PDF a SVG.
Convertir PDF a SVG
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_svg.svg"
# Abrir documento PDF
document = ap.Document(input_pdf)
# Instanciar un objeto de SvgSaveOptions
saveOptions = ap.SvgSaveOptions()
# No comprimir la imagen SVG en un archivo Zip
saveOptions.compress_output_to_zip_archive = False
saveOptions.treat_target_file_name_as_directory = True
# Guardar la salida en archivos SVG
document.save(output_pdf, saveOptions)