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 cobre os seguintes tópicos.
Formato de Imagem: TIFF
- Python PDF para TIFF
- Python Converter PDF para TIFF
- Python Converter Páginas Únicas ou Particulares 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 a conversão de todo o documento, 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 para imagens TIFF. Esta classe fornece um método chamado process que permite converter todas as páginas de um arquivo PDF em uma única imagem TIFF.
Tente converter PDF para TIFF online Aspose.PDF for Python via .NET apresenta a você uma aplicação online gratuita “PDF para TIFF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter Páginas de 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 process para converter o documento PDF para TIFF.
-
Para definir as propriedades do arquivo de saída, use a classe TiffSettings.
O seguinte trecho de código mostra como converter todas as páginas do PDF em uma única imagem TIFF.
import aspose.pdf as ap
input_pdf = DIR_INPUT + "sample.pdf"
output_pdf = DIR_OUTPUT + "convert_pdf_to_tiff.tiff"
# Abra o documento PDF
document = ap.Document(input_pdf)
# Crie um objeto Resolution
resolution = ap.devices.Resolution(300)
# Crie um objeto TiffSettings
tiffSettings = ap.devices.TiffSettings()
tiffSettings.compression = ap.devices.CompressionType.LZW
tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
tiffSettings.skip_blank_pages = False
# Crie um dispositivo TIFF
tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
# Converta uma página específica e salve a imagem no fluxo
tiffDevice.process(document, output_pdf)
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 em 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 têm o mesmo método. Portanto, se precisarmos converter uma página PDF em uma imagem, basta instanciarmos 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
- Carregue o arquivo PDF usando a classe Document.
- Crie 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)
- Chame o método ImageDevice.Process() para realizar a conversão de PDF para Imagem.
Converter PDF para 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)
# Criar objeto de Resolução
resolution = ap.devices.Resolution(300)
device = ap.devices.BmpDevice(resolution)
for i in range(0, len(document.pages)):
# Criar arquivo para salvar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.bmp", 'x'
)
# Converter uma página específica e salvar a imagem no stream
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Converter PDF para 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)
# Criar objeto Resolution
resolution = ap.devices.Resolution(300)
device = ap.devices.EmfDevice(resolution)
for i in range(0, len(document.pages)):
# Criar arquivo para salvar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.emf", 'x'
)
# Converter uma página específica e salvar a imagem no stream
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Converter PDF para 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)
# Criar objeto Resolution
resolution = ap.devices.Resolution(300)
device = ap.devices.JpegDevice(resolution)
for i in range(0, len(document.pages)):
# Criar arquivo para salvar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.jpeg", "x"
)
# Converter uma página específica e salvar a imagem no stream
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Converter PDF para 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)
# Criar objeto de Resolução
resolution = ap.devices.Resolution(300)
device = ap.devices.PngDevice(resolution)
for i in range(0, len(document.pages)):
# Criar arquivo para salvar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.png", 'x'
)
# Converter uma página específica e salvar a imagem no stream
device.process(document.pages[i + 1], imageStream)
imageStream.close()
Converter PDF para 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)
# Criar objeto de Resolução
resolution = ap.devices.Resolution(300)
device = ap.devices.GifDevice(resolution)
for i in range(0, len(document.pages)):
# Criar arquivo para salvar
imageStream = io.FileIO(
output_pdf + "_page_" + str(i + 1) + "_out.gif", 'x'
)
# Converter uma página específica e salvar a imagem no stream
device.process(document.pages[i + 1], imageStream)
# Fechar stream
imageStream.close()
Tente converter PDF para PNG online
Como exemplo de como nossas aplicações gratuitas funcionam, por favor, verifique o próximo recurso.
Aspose.PDF para Python apresenta a você a aplicação online gratuita “PDF para 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ê a aplicação online gratuita “PDF para 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.
As imagens SVG e seus comportamentos são definidos em arquivos de texto XML. Isso significa que eles podem ser pesquisados, indexados, scriptados e, se necessário, comprimidos. Como arquivos XML, as imagens SVG podem ser criadas e editadas com qualquer editor de texto, mas é frequentemente mais conveniente criá-las com programas de desenho como o Inkscape.
Aspose.PDF para Python suporta o recurso de converter imagens SVG para o formato PDF e também oferece a capacidade de converter arquivos PDF para o formato SVG. Para cumprir esse 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 trecho de código a seguir 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
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 um objeto de SvgSaveOptions
saveOptions = ap.SvgSaveOptions()
# Não comprimir imagem SVG para arquivo Zip
saveOptions.compress_output_to_zip_archive = False
saveOptions.treat_target_file_name_as_directory = True
# Salvar a saída em arquivos SVG
document.save(output_pdf, saveOptions)