Gerando PDF de imagens
Publicado por Mauricio (última atualização em 13/09/2012)
[ Hits: 13.708 ]
Homepage: http://www.mbmaciel.com
Gere PDF de imagens num diretório usando o Software Opensource Report Lab.
Visite o site para mais informações: http://www.reportlab.com/software/opensource/
Obs.: O script pega também as imagens de subdiretórios.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# >>> gera_pdf.py - 04/09/2012
# Por Mauricio Maciel <mbmaciel@linuxdepot.com.br>
# Gerador de pdf das imagens no diretorio. Utiliza o report lab.
# Reportlab - http://www.reportlab.com/software/opensource/
# Instalação - sudo easy_install reportlab
import os
import random
import string
from reportlab.pdfgen import canvas
#variaveis
dir = os.getcwd()
def file_generator(size=6, chars=string.ascii_lowercase + string.digits):
'''
Função gera o nome aleatorio
'''
word = ''.join(random.choice(chars) for x in range(size))
return 'file'+word+'.pdf'
def pdfDirectory(imageDirectory, outputPDFName=file_generator()):
'''
Função gera o PDF
'''
dirim = str(imageDirectory)
output = str(outputPDFName)
c = canvas.Canvas(output, pagesize=(425,283))
try:
for root, dirs, files in os.walk(dirim):
for name in files:
lname = name.lower()
if lname.endswith(".jpg") or lname.endswith(".gif") or lname.endswith(".png"):
filepath = os.path.join(root, name)
c.drawImage(filepath, 0, 1, width=425, height=283)
c.showPage()
c.save()
print "PDF das imagens criado!"
except:
print "Falha ao gerar PDF"
# modo de usar
pdfDirectory(dir)
Mini-dicionário de termos em Python e PyQT 4
Serialização em Python usando pickle
Leitor de arquivo via linha de comandoEs
Manipulando as informações do USBfs no Linux
Web Scraping para coletar dados dos pilotos da Fórmula 1
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Problemas com o "startx&... no Slackware (5)
Atalho no Linux Mint não aparece menu de troca de monitores (0)









