Gerando PDF de imagens
Publicado por Mauricio (última atualização em 13/09/2012)
[ Hits: 13.375 ]
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)
Exemplo de armazenamento de registros em arquivo
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









