Script para crear documentos.pdf con fotos

Imagen de nica22
0 puntos

Es un script, – creado por Jjgomera y Guadafan – del foro de Guadalinex - que puede manejar una selección de fotos y crear un documento.pdf en el que en cada página hay 2 fotos y sus correspondientes líneas para pie de foto, en el que poder poner a mano, una vez imprimido, un comentario de la foto.

Para ejecutarlo hace falta tener instalado los paquetes: python-reportlab, y zenity

Aquí se explica como crear un script. Una vez creados los scripts se guardan en la carpeta /home/usuario/.gnome2/nautilus-scripts ,con el nombre de Album_2fotos.py y se tiene acceso a ellos en Nautilus >botón secundario >menú Scripts.

Para usarlo se seleccionan en Nautilus las fotos con las que se quiere crear el documento.pdf y luego >botón secundario >menú Scripts->Album_2foto.py

——————————————-

El texto del script Album_2foto.py es:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys

from reportlab.pdfgen import canvas
from reportlab.platypus import Image
from reportlab.lib.pagesizes import A4
from os import system
from glob import glob
from pyzenity import *

#Si se quiere usar el comando sin argumentos para que trate los archivos que haya a tutiplen

#extensiones=["*.gif", "*.png", "*.jpg"]
#imagenes=[]
#for extension in extensiones:
# imagenes+=glob(extension)
#imagenes.sort()

#ruta de la imagen, absoluta o relativa si se encuentra en el mismo directorio que el fichero py
#imagenes=["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]

#imagenes=[sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7]]

#total_archivos=(len(sys.argv))

#imagenes=range(len(sys.argv))

#for elemento in range(len(sys.argv)):
# imagenes[elemento]=sys.argv[elemento]
#primer_elemento=imagenes[0]
#imagenes.remove(primer_elemento)

imagenes=[]

for indice in range(1,len(sys.argv)):
imagenes.append(sys.argv[indice])

print imagenes

#total_archivos=(len(sys.argv))
#n=0
#for elemento in sys.argv:
# imagenes[n]=(elemento)”
# n=n+1

#texto del pie de foto
pie_de_foto=”"

c = canvas.Canvas(“album.pdf”, pagesize=A4)
c.setTitle(“Album”)

update = Progress()

paginas =len(imagenes)/2+len(imagenes)%2

for indice in range(paginas):
#4 líneas para el marco
c.line (50,50,550,50)
c.line (50,50,50,770)
c.line (50,770,550,770)
c.line (550,50,550,770)

#Título
c.line(100,800,500,800)

c.drawString(290,25,”- “+str(indice+1)+” -”)
print “Generando página %i…” % (indice+1)

for img in range(2):
try:
c.drawImage(imagenes[indice*2+img], 125, 530-img*360, width=340, height=230,preserveAspectRatio=True)

#Relleno del pie de foto
c.setFillColorRGB(0.85,0.85,0.85)
c.setStrokeColorRGB(1,1,1)
c.rect(90,420-img*360,420,100, fill=1)
c.setStrokeColorRGB(0.1,0.1,0.1)
c.setFillColorRGB(0, 0, 0)

#Pie de foto
for linea in range(4):
c.line(100,500-img*360-linea*20,500,500-img*360-linea*20)
except:
pass

partes=100/len(imagenes)
update(indice*partes, “Generando página %i…” % (indice+1))

c.showPage()

c.save()

#Si queremos abrirlo con algún visor de pdf
#system(“evince album.pdf”)

———————————————-

Un ejemplo del albúm de fotos creado en mi blog:http://***********

———————————————-

Imagen de Capa
+1
0
-1

Por favor lee las normas antes de publicar.

Es lícito incluir en tu firma un enlace a tu blog, página personal, etc.
Pero no está permitido incitar a visitar tu página.

Si quieres hacer un Como (How To) adelante, pero no escribas la mitad y obligues a los lectores a visitar tu blog para leer el resto.

Gracias.


Equipo de Ubuntu-es

+1
0
-1