Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

Sistema web para poner marca de agua con PHP y JS

Hoy te voy a presentar un software gratuito y open source para poner marcas de agua a una imagen. Lo que tienes que hacer es simplemente seleccionar la imagen, la marca de agua y listo.

Además, puedes ajustar la opacidad y la separación entre marcas de agua. Por otro lado, si no te parece algún aspecto, puedes modificar el código fuente pues es totalmente open source.

He escrito este programa en PHP y JavaScript. Básicamente el procesamiento lo hace PHP, y JS solo es el frontend.

Sé bien que esto se podría hacer con JavaScript para no cargar al servidor, pero a mí me funciona así y por eso es que lo hice de esa manera. A lo largo de este post te mostraré todos los detalles sobre este programa.

(más…)

Instalar librería gd para PHP en Linux Ubuntu

La librería gd permite la manipulación de imágenes y la llamada a funciones como imagecreatefrompng o imagecreatefromjpeg.

En este post voy a mostrarte cómo instalar la extensión gd en PHP sobre el sistema operativo Linux Ubuntu.

(más…)

PHPWord: agregar marca de agua, TOC y gráficas a documento de Word con PHP

En este post vamos a ver cómo trabajar con documentos de Word usando el lenguaje de programación PHP y la librería PHPWord, parte de la familia de PHPOffice.

Lo que veremos será cómo:

  1. Agregar marca de agua a un documento
  2. Agregar un índice o tabla de contenido
  3. Trabajar con gráficas de barras, de pastel, de línea, etcétera

Este tutorial es la tercera parte de una serie de tutoriales sobre documentos de Word y PHP.

Recuerda ver la primera parte para ver cómo instalar la librería y su uso básico, así como la segunda parte para trabajar con listas, tablas e imágenes.

(más…)

Poner marca de agua a imágenes con PHP

En este post voy a explicar y demostrar cómo se pueden poner marcas de agua con PHP utilizando las funciones de la librería GD.

Vamos a ver cómo poner la marca de agua en distintas posiciones (arriba a la izquierda, arriba a la derecha, centrada horizontal y verticalmente) y cómo modificar la opacidad de la marca de agua.

Marca de agua colocada con PHP y GD

Marca de agua colocada con PHP y GD

En la imagen de arriba se puede notar que he colocado una marca de agua de una “terminal” sobre una captura de código C (es sobre el post de generar números aleatorios con C).

He elegido estas dos imágenes porque el dueño soy yo, así que no pueden existir reclamaciones de derechos de autor y esas cosas que dan pereza.

Nota: recuerda que hace tiempo publiqué WaterPy, una aplicación similar pero escrita en Python.

(más…)

Presentando a WaterPy: una aplicación de escritorio para poner marcas de agua

Hoy vengo a presentar una aplicación de escritorio muy simple pero funcional en lo que realiza. Se trata de un software que hace una cosa: poner marcas de agua.

Entre sus principales características encontramos:

  • Open source (aquí el repositorio)
  • Multiplataforma gracias a que lo que usa es igualmente multiplataforma
  • Permite modificar la transparencia de la marca de agua
  • La marca de agua puede ponerse en cualquier posición de la imagen, es decir, en la esquina inferior, superior, etcétera. En modo horizontal se puede colocar en: izquierda, derecha o centro. Y en modo vertical arriba, abajo o en el centro.
  • Permite procesar directorios completos de imágenes, o una imagen
  • Da la posibilidad de agregar una separación entre los límites de la imagen

Veamos cómo fue que la hice y por qué la hice, así como un ejemplo de uso.

Nota: puedes descargarlo aquí.

(más…)

Marca de agua con ffmpeg sobre vídeo

Introducción

Hoy veremos cómo podemos agregar, a un vídeo, una marca de agua con ffmpeg. Ffmpeg es una herramienta que funciona para múltiples cosas, como cortar un vídeo, unir 2 vídeos, etcétera.

Lo que explicaré en este post es cómo podemos agregar una imagen a un vídeo MP4 como marca de agua en cualquier posición del vídeo (centro, esquina, etcétera).

(más…)

Python: agregar pie de página a PDF

Introducción

Ya hemos trabajado anteriormente con Python para muchas cosas. Hoy veremos cómo poner un pie de página a cualquier documento PDF.

Veremos cómo poner un texto, número o cualquier mensaje que queramos.

Esto funciona cuando queremos poner nuestro nombre a algún documento, o modificar un documento PDF que no podemos editar.

El proceso es realmente sencillo, sólo necesitamos Python y algunas librerías que instalaremos con Pip. Recuerda que si no tienes instalado pip o Python, aquí hay un excelente tutorial.

Librerías o requisitos

Como siempre, necesitamos Python y pip. Aquí un tutorial.

Una vez que tengamos todo instalado, necesitamos 2 librerías más: PyPDF2 y ReportLab. Más abajo veremos cómo instalarlas.

Instalar PyPDF2

Ejecutamos lo siguiente en la línea de comandos:

pip install PyPDF2

Instalar ReportLab

Ejecutamos lo siguiente:

pip install reportlab

Ahora sí estamos listos.

Archivo de ejemplo

Para ejemplificar lo que aquí se verá, se utilizará un PDF normal que es de uno de mis posts:

post

Poner mensaje en pie de página

Para mí, esta opción es la más útil. Podría servir para poner nuestra “marca de agua” en los documentos que generemos. En fin, podemos poner cualquier mensaje deseado.

El código se explica por sí mismo. Simplemente creamos un documento PDF temporal, con el mensaje que pusimos y luego lo “combinamos” con el original.

Así vamos haciendo por cada página y al final escribimos el contenido del stream en el archivo de salida.

Si ejecutamos el código se verá algo así:

Agregando pie de página a un documento PDF de ejemplo

Agregando pie de página a un documento PDF de ejemplo

El resultado es este:

post_con_mensaje

Sencillo pero muy útil. Tal vez más tarde podríamos agregar una interfaz gráfica para facilitar el uso de este programa. Incluso podríamos empaquetar esto.

Conclusión

Te recomiendo leer la documentación oficial de ReportLab aquí, así como la de PyPDF2 aquí. Igualmente te invito a leer otros tutoriales de Python.