Convertendo de PDF para JPG em Python


Autor/fonte: Artur Gaspar
E-mail/Url: http://www.vivaolinux.com.br/script/Converte-de-PDF-para-JPG
Tags: [ conversor ]



Digg del.icio.us

Script que 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.

Script:

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




Enviado por xKuRt em 19/04/2010 às 13:51


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Sexta, 21 de Novembro de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Use a Cabeça! JavaScript


Capa do livro
Livro - O Melhor do JavaScript


Capa do livro
Questões Comentadas de Informática para Concurso Público na Área de Tecnologia da Informação





Hostnet

IMD