Converte de PDF para JPG
Publicado por Artur Gaspar (última atualização em 13/04/2010)
[ Hits: 7.038 ]
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
Criando um rootfs para sistemas embarcados a partir de cópia de um sistema já operando
Descobrir HOME do usuario e criar arquivo de configuração
Manipulação de arquivos CSV - OO
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Impressora Bematech MP4200TH rorando com a distribuição Zorin OS (3)
PC congelando em momentos aleatórios (em várias distros) (1)