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.
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]
La imagen que se utilizara tendrá una dimensión de 500×632 pixeles, la imagen es la siguiente:
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:
enjoy!
Completa agenda para organizar tu vida personal y/o profesional, si te olvidas de acontecimientos familiares, citas de t[...]
En este tutorial crearemos un sencillo juego de memoria en lenguaje java. Necesitamos IDE Netbeans 7.x Editor de imágene[...]
En esta oportunidad dejo a considerancion un codigo realizado en Java/Netbeans para recortar una imagen visualmente Vide[...]
Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr[...]
Nivel: Intermedio-Avanzado IDE: Netbeans 6.9 o Sup. Tiempo: 30 minutos En este tutorial crearemos una aplicación que nos[...]
Mangle es el lenguaje de programación de código abierto desarrollado por el gigante tecnológico Google presentado este a[...]