Gerando PDF de imagens

Publicado por Mauricio (última atualização em 13/09/2012)

[ Hits: 11.812 ]

Homepage: http://www.mbmaciel.com

Download gera_pdf.py




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.

  



Esconder código-fonte

#!/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)

Scripts recomendados

Leitor de arquivo

Manipulação de arquivos CSV - OO

Agenda de cadastros com tratamento de erros

Hashing Linear

Criando um rootfs para sistemas embarcados a partir de cópia de um sistema já operando


  

Comentários
[1] Comentário enviado por blacksky em 09/08/2018 - 23:49h

como dica, utilize o comando convert, ele já faz isso :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts