Converte de PDF para JPG
Publicado por Artur Gaspar (última atualização em 13/04/2010)
[ Hits: 6.872 ]
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
Serialização em Python usando pickle
Manipulando as informações do USBfs no Linux
subwrite - um simples editor de texto em Python
Nenhum comentário foi encontrado.
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Criando um Pen Drive Bootável no Linux
problemas com artefatos na instalação (27)
Dualboot Fedora 40 e LinuxMint 21 (0)
Problemas com o Lutris e o Wine no Slackware 15.0 [RESOLVIDO] (4)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (46)
Acento til, agudo e circunflexo nao funcionam com Debian [RESOLVIDO] (5)