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
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA