Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Convertir imágenes JPG a PDF

Convertir imágenes JPG a PDF

Autor jc mouse miércoles, noviembre 27, 2019

En este post vemos un ejemplo de como convertir un archivo de imagen JPG en un archivo PDF utilizando para ellos la librería iText.

¿Qué es iText?

iText es una biblioteca Open Source para crear y manipular archivos PDF, RTF, y HTML en Java. Fue escrita por Bruno Lowagie, Paulo Soares, y otros; está distribuida bajo la Affero General Public License (AGPL). [Santa Wikipedia]

¿Qué Necesitamos?

  • Librería iText
  • Java 8 o superior
  • Una imagen JPG
  • Netbeans o Eclipse (o el IDE de tu preferencia)

Manos a la obra

La imagen que se utilizara tendrá una dimensión de 500×632 pixeles, la imagen es la siguiente:

Abuelo simpsons seguridad

El código para la conversión de JPG a PDF es el siguiente:

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Jpeg;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;

/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {

        final int ANCHO = 500;
        final int ALTO = 632;
        final String DESTINO = "E:\\test.pdf";
        final String ORIGEN = "E:\\abesimpson.jpg";

        System.out.println("Inicio");
        //Se crea documento con un tamaño en especifico, 
        //tambien se puede usar PageSize.LETTER (carta) o similares
        Document document = new Document(new Rectangle(ANCHO, ALTO));
        //margenes
        document.setMargins(0, 0, 0, 0);

        try {
            //Se crea PDF
            PdfWriter.getInstance(document, new FileOutputStream(DESTINO));
            document.open();
            //se lee imagen origen
            BufferedImage image = ImageIO.read(new File(ORIGEN));
            //convierte la imagen en un array de bytes
            byte[] imageInByte;
            try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
                ImageIO.write(image, "jpg", baos);
                baos.flush();
                imageInByte = baos.toByteArray();

                //Un JPEG es la representacion de un elemento grafico (JPEG)
                //que debe insertarse en el documento
                document.add(new Jpeg(imageInByte, 640, 640));
                System.out.println("Fin");
            } catch (Exception e) {
                System.err.println(e.getMessage());
            }
        } catch (DocumentException | IOException e) {
            System.err.println(e.getMessage());
        } finally {
            if (document.isOpen()) {
                document.close();
            }
        }
    }
}

Ejecutando obtenemos:

convert jpg to pdf

enjoy!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Tabla con imagen de fondo

Tabla con imagen de fondo

En este post personalizaremos una tabla JTable Swing para pintar una imagen de fondo y darle un poco de estilo al encabe...

Biblioteca Matemática avanzada para java

Biblioteca Matemática avanzada para java

Java cuenta con la clase java.lang.Math  la cual contiene métodos para realizar operaciones numéricas básicas como las f...

CUF: Código Único de Factura

CUF: Código Único de Factura

Este 2019 se implementara en Bolivia un nuevo Sistema de Facturación Electrónica con nuevas características y medidas de...

Estilos condicionales en iReport

Estilos condicionales en iReport

iReport nos da la posibilidad de dar un formato condicional a los diferentes registros resultado de nuestras consultas S...

Conversor decimal a binario

Conversor decimal a binario

Desde que Google anuncio de que dejara de dar soporte al plugin de Eclipse y se concentrara en Android Studio, quienes t...

Búsqueda dinámica en JList

Búsqueda dinámica en JList

Un JList nos permite almacenar objetos en una lista y mostrarlos gráficamente en una serie vertical en el cual el usuari...

Comparte lo que sabes

Categorias

Últimas entradas

WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...

Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...

TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...

Una clase JTree permite mostrar datos de una forma jerárquica y en realidad este objeto no contiene sus datos; es decir,...

Herramientas

Generador de Enlaces a Whatsapp