Rotar una imagen en un documento PDF usando Java

En este artículo, aprenderemos cómo rotar una imagen en un documento PDF usando Java. Para rotar una imagen en un PDF, usaremos la biblioteca iText. Estos son los pasos que se deben seguir para Rotar una Imagen en un PDF usando Java.

1. Crear un objeto PdfWriter

La clase PdfWriter representa el DocWriter para un PDF. El constructor de esta clase acepta una string, es decir, la ruta del archivo donde se creará el PDF.

// importing the PdfWriter class. 
import com.itextpdf.kernel.pdf.PdfWriter; 

// path where the pdf is to be created. 
String path = "C:/JavaPdf/rotateImage.pdf"; 
PdfWriter pdfwriter = new PdfWriter(path);

2. Creando un objeto PdfDocument

La clase PdfDocument es la clase que representa el documento PDF en iText. Para instanciar esta clase en modo de escritura, debe pasar un objeto de la clase PdfWriter (es decir, pdfwriter del código anterior) a su constructor.

// Creating a PdfDocument object. 
// passing PdfWriter object constructor of pdfDocument. 
PdfDocument pdfdocument = new PdfDocument(pdfwriter); 

3. Creando el objeto Documento

La clase Documento es el elemento raíz al crear un PDF autosuficiente. Uno de los constructores de esta clase acepta un objeto del tipo clase PdfDocument (es decir, documento pdf).

// Creating a Document and passing pdfDocument object 
Document document = new Document(pdfdocument); 

4. Crea un objeto Imagen

Necesitamos el objeto de imagen para administrar las imágenes. Para crear un objeto de imagen, necesitamos crear un objeto ImageData. Podemos crearlo pasando el parámetro de string que representa la ruta de la imagen al método create() de la clase ImageDataFactory. Ahora podemos crear un objeto de imagen pasando el objeto ImageData como parámetro al constructor de la clase de imagen.

// Create an ImageData object 
String imageFile = "F:/JavaPdf/image.jpg"; 
ImageData data = ImageDataFactory.create(imageFile); 

// Creating an Image object 
Image image = new Image(data);

5. Rotar una imagen

Para rotar una imagen usamos setRotationAngle(), y tenemos que pasar un número entero que representa el ángulo de rotación por el cual nos gustaría rotar la imagen.

// Rotating the image 
image.setRotationAngle(90);

6. Agregar imagen al documento PDF

Agregue el objeto de imagen usando el método add() de la clase Document y cierre el documento usando el método close() de la clase Document

// Adding image to the document 
document.add(image); 

// Closing the document  
document.close();

Ejemplo: aquí está el código final que nos ayuda a comprender cómo rotar una imagen en un documento PDF usando Java.

Java

import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
  
public class RotateImage {
    public static void main(String args[]) throws Exception
    {
  
        try {
            // path where the pdf is to be created.
            String path = "F:/JavaPdf/RotateImage.pdf";
            
            // Creating a PdfWriter
            PdfWriter pdfwriter = new PdfWriter(path);
  
            // Creating a PdfDocument object.
            // passing PdfWriter object constructor of
            // pdfDocument.
            PdfDocument pdfdocument
                = new PdfDocument(pdfwriter);
  
            // Creating a Document and passing pdfDocument
            // object
            Document document = new Document(pdfdocument);
  
            // Create an ImageData object
            String imageFile = "F:/JavaPdf/image.jpg";
            ImageData data
                = ImageDataFactory.create(imageFile);
            
            // Creating an Image object
            Image image = new Image(data);
            
            // Creating an Image object
            Image image = new Image(data);
  
            // Rotating the image
            image.setRotationAngle(90);
  
            // Adding image to the document
            document.add(image);
            
            // Closing the document
            document.close();
  
            System.out.println(
                "Image has been rotated successfully");
        }
        catch (Exception e) {
            System.out.println(
                "failed to rotate the image in the file due to "
                + e);
        }
    }
}

Compilar y ejecutar

javac RotateImage.java 
java RotateImage

Producción

Image has been rotated successfully

PDF 

Rotate an image

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *