Converter PDF para Diferentes Formatos de Imagem em Python
Visão Geral
Este artigo explica como converter PDF para diferentes formatos de imagem usando Python. Ele abrange os seguintes tópicos.
Formato de Imagem: TIFF
- Python PDF para TIFF
- Python Converter PDF para TIFF
- Python Converter Páginas Únicas ou Específicas de PDF para TIFF
Formato de Imagem: BMP
Formato de Imagem: EMF
Formato de Imagem: JPG
Formato de Imagem: PNG
Formato de Imagem: GIF
Formato de Imagem: SVG
Python Converter PDF para Imagem
Aspose.PDF para Python usa várias abordagens para converter PDF em imagem. Geralmente falando, usamos duas abordagens: conversão usando a abordagem Device e conversão usando SaveOption. Esta seção mostrará como converter documentos PDF para formatos de imagem, como BMP, JPEG, GIF, PNG, EMF, TIFF e SVG, usando uma dessas abordagens.
Existem várias classes na biblioteca que permitem usar um dispositivo virtual para transformar imagens. DocumentDevice é orientado para conversão de documento inteiro, mas ImageDevice - para uma página específica.
Converter PDF usando a classe DocumentDevice
Aspose.PDF para Python possibilita converter Páginas PDF para imagens TIFF.
A classe TiffDevice (baseada em DocumentDevice) permite converter páginas PDF em imagens TIFF. Esta classe fornece um método chamado Process
que permite converter todas as páginas em um arquivo PDF para uma única imagem TIFF.
Tente converter PDF para TIFF online Aspose.PDF for Python via .NET apresenta a você o aplicativo online gratuito “PDF para TIFF”, onde você pode experimentar para investigar a funcionalidade e a qualidade com que ele funciona.
Converter Páginas PDF para Uma Imagem TIFF
Aspose.PDF para Python explica como converter todas as páginas em um arquivo PDF para uma única imagem TIFF:
Passos: Converter PDF para TIFF em Python
-
Crie um objeto da classe Document.
-
Crie objetos TiffSettings e TiffDevice
-
Chame o método TiffDevice.Process() para converter o documento PDF para TIFF.
-
Para definir as propriedades do arquivo de saída, use a classe TiffSettings.
O trecho de código a seguir mostra como converter todas as páginas do PDF em uma única imagem TIFF.
from asposepdf import Api, Device
# inicializar licença
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)
# Criar objeto Resolution
resolution = Device.Resolution(300)
# Criar objeto TiffSettings
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False
# Criar dispositivo TIFF
tiffDevice = Device.TiffDevice(resolution, tiffSettings)
# Converter uma página específica e salvar a imagem no fluxo
tiffDevice.process(document, output_image)
Converter PDF usando a classe ImageDevice
ImageDevice
é o ancestral de BmpDevice
, JpegDevice
, GifDevice
, PngDevice
e EmfDevice
.
-
A classe BmpDevice permite converter páginas PDF em imagens BMP.
-
A classe EmfDevice permite converter páginas PDF em imagens EMF.
-
A classe JpegDevice permite converter páginas PDF em imagens JPEG.
-
A classe PngDevice permite converter páginas PDF em imagens PNG.
-
A classe GifDevice permite converter páginas PDF em imagens GIF.
Vamos dar uma olhada em como converter uma página PDF para uma imagem.
A classe BmpDevice fornece um método chamado Process que permite converter uma página específica do arquivo PDF para o formato de imagem BMP. As outras classes possuem o mesmo método. Portanto, se precisarmos converter uma página PDF para uma imagem, basta instanciar a classe necessária.
Os seguintes passos e trecho de código em Python mostram essa possibilidade
- Converter PDF para BMP em Python
- Converter PDF para EMF em Python
- Converter PDF para JPG em Python
- Converter PDF para PNG em Python
- Converter PDF para GIF em Python
Passos: PDF para Imagem (BMP, EMF, JPG, PNG, GIF) em Python
- Carregar o arquivo PDF usando a classe Document.
- Criar uma instância da subclasse de ImageDevice, ou seja,
- BmpDevice (para converter PDF para BMP)
- EmfDevice (para converter PDF para Emf)
- JpegDevice (para converter PDF para JPG)
- PngDevice (para converter PDF para PNG)
- GifDevice (para converter PDF para GIF)
- Chamar o método ImageDevice.Process() para realizar a conversão de PDF para Imagem.
Converter PDF para 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)
# Criar objeto Resolution
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)
for i in range(0, document.getPages.size):
# Criar nome de arquivo para salvar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
# Converter uma página específica e salvar a imagem no arquivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Converter PDF para 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)
# Criar objeto de Resolução
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)
for i in range(0, document.getPages.size):
# Criar nome de arquivo para salvar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
# Converter uma página específica e salvar a imagem no arquivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Converter PDF para 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)
# Criar objeto de Resolução
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)
for i in range(0, document.getPages.size):
# Criar nome de arquivo para salvar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
# Converter uma página específica e salvar a imagem no arquivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Converter PDF para 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)
# Criar objeto Resolution
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)
for i in range(0, document.getPages.size):
# Criar nome de arquivo para salvar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
# Converter uma página específica e salvar a imagem no arquivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Converter PDF para 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)
# Criar objeto Resolution
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)
for i in range(0, document.getPages.size):
# Criar nome de arquivo para salvar
imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
# Converter uma página específica e salvar a imagem no arquivo
device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)
Tente converter PDF para PNG online
Como um exemplo de como nossas aplicações gratuitas funcionam, por favor verifique a próxima funcionalidade.
Aspose.PDF para Python apresenta a você uma aplicação online gratuita “PDF to PNG”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter PDF usando a classe SaveOptions
Esta parte do artigo mostra como converter PDF para SVG usando Python e a classe SaveOptions.
Tente converter PDF para SVG online
Aspose.PDF para Python via .NET apresenta a você uma aplicação online gratuita “PDF to SVG”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Scalable Vector Graphics (SVG) é uma família de especificações de um formato de arquivo baseado em XML para gráficos vetoriais bidimensionais, tanto estáticos quanto dinâmicos (interativos ou animados). A especificação SVG é um padrão aberto que está em desenvolvimento pelo World Wide Web Consortium (W3C) desde 1999.
Imagens SVG e seus comportamentos são definidos em arquivos de texto XML. Isso significa que eles podem ser pesquisados, indexados, roteirizados e, se necessário, comprimidos. Como arquivos XML, imagens SVG podem ser criadas e editadas com qualquer editor de texto, mas geralmente é mais conveniente criá-las com programas de desenho como o Inkscape.
Aspose.PDF para Python suporta o recurso de converter imagem SVG para formato PDF e também oferece a capacidade de converter arquivos PDF para formato SVG. Para cumprir este requisito, a classe SvgSaveOptions foi introduzida no namespace Aspose.PDF. Instancie um objeto de SvgSaveOptions e passe-o como segundo argumento para o método Document.Save().
O seguinte trecho de código mostra os passos para converter um arquivo PDF para o formato SVG com Python.
Passos: Converter PDF para SVG em Python
- Crie um objeto da classe Document.
- Crie um objeto SvgSaveOptions com as configurações necessárias.
- Chame o método Document.Save() e passe o objeto SvgSaveOptions para converter o documento PDF em SVG.
Converter PDF para SVG
from asposepdf import Api
documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)