Converte de PDF para JPG
Publicado por Artur Gaspar (última atualização em 13/04/2010)
[ Hits: 7.495 ]
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
subwrite - um simples editor de texto em Python
Juntando tabelas em aquivo texto
Nenhum comentário foi encontrado.
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Gerenciamento de Vídeo Híbrido (Intel/NVIDIA) via nvidia-prime no Ubuntu e derivados
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
O computador não reconhece a câmera (3)
Depois não querem que eu fale sobre as baseadas... (3)









