Converte de PDF para JPG
Publicado por Artur Gaspar (última atualização em 13/04/2010)
[ Hits: 6.862 ]
Converte PDF para JPG e retorna uma lista com as imagens.
Depende do pacote ghostscript-library ou algum outro que contenha o programa "gs" no $PATH.
from os import listdir, path from re import match from signal import SIGKILL from subprocess import Popen, PIPE from tempfile import mkdtemp from time import time def pdf2jpg(pdf, timeout=False): dir = mkdtemp() gs = Popen(['gs', '-dSAFER', '-dBATCH', '-dNOPAUSE', '-sDEVICE=jpeg', '-r150', '-dTextAlphaB', 'its=4', '-dGraphicsAlphaBits=4', '-dMaxStripSize=8192', '-sOutputFile=%s/page%%d.jpg' % dir, pdf], stdin=PIPE, stdout=PIPE, stderr=PIPE) if timeout: start = time() while time() - start <= timeout: if gs.poll() == None: # Not terminated pass elif gs.poll() == 0: # Terminated ok break else: # Not ok stdout, stderr = gs.communicate() raise EnvironmentError(None, 'GhostScript terminated unexpect' 'edly', 'Stdout: \n%s\nStderr: \n%s\n' % (stdout, stderr)) return False gs.send_signal(SIGKILL) else: if gs.wait() != 0: stdout, stderr = gs.communicate() raise EnvironmentError(None, 'GhostScript terminated unexpectedly', 'Stdout: \n%s\nStderr: \n%s\n' % (stdout, stderr)) return False images = [] for image in listdir(dir): if match('page[0-9][0-9]*.jpg', image): images.append(path.join(dir, image)) return images
Manipulação de arquivos CSV - OO
Dividir um grupo de arquivos em vários CDs Ou DVDs
Descobrir HOME do usuario e criar arquivo de configuração
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
ASRock H310CM-HG4 vs Linux [RESOLVIDO] (18)
Microfone do meu headset não é recinhecido. Meu notebook é um Acer Asp... (12)