PDFBox - Agregar rectángulos
Este capítulo le enseña cómo crear cuadros de color en una página de un documento PDF.
Creación de cuadros en un documento PDF
Puede agregar cuadros rectangulares en una página PDF utilizando el addRect() método del PDPageContentStream clase.
Los siguientes son los pasos para crear formas rectangulares en una página de un documento PDF.
Paso 1: carga de un documento PDF existente
Cargue un documento PDF existente utilizando el método estático load() del PDDocumentclase. Este método acepta un objeto de archivo como parámetro, ya que este es un método estático, puede invocarlo usando el nombre de clase como se muestra a continuación.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Paso 2: obtener el objeto de página
Necesitas recuperar el PDPage objeto de la página requerida donde desea agregar rectángulos usando el getPage() método del PDDocumentclase. Para este método, debe pasar el índice de la página donde desea agregar rectángulos.
PDPage page = document.getPage(0);
Paso 3: preparación del flujo de contenido
Puede insertar varios tipos de elementos de datos utilizando el objeto de la clase denominada PDPageContentStream. Debe pasar el objeto del documento y el objeto de la página al constructor de esta clase, por lo tanto, cree una instancia de esta clase pasando estos dos objetos creados en los pasos anteriores como se muestra a continuación.
PDPageContentStream contentStream = new PDPageContentStream(document, page);
Paso 4: Configuración del color sin trazos
Puede establecer el color sin trazos en el rectángulo usando el setNonStrokingColor() método de la clase PDPageContentStream. Para este método, debe pasar el color requerido como parámetro como se muestra a continuación.
contentStream.setNonStrokingColor(Color.DARK_GRAY);
Paso 5: Dibujar el rectángulo
Dibuje el rectángulo con las dimensiones requeridas usando el addRect()método. Para este método, debe pasar las dimensiones del rectángulo que se agregará como se muestra a continuación.
contentStream.addRect(200, 650, 100, 100);
Paso 6: llenar el rectángulo
los fill() método del PDPageContentStream class llena la ruta entre las dimensiones especificadas con el color requerido como se muestra a continuación.
contentStream.fill();
Paso 7: cerrar el documento
Finalmente cierre el documento usando close() método del PDDocument clase como se muestra a continuación.
document.close();
Ejemplo
Supongamos que tenemos un documento PDF llamado blankpage.pdf en el camino C:\PdfBox_Examples\ y esto contiene una sola página en blanco como se muestra a continuación.
Este ejemplo demuestra cómo crear / insertar rectángulos en un documento PDF. Aquí, crearemos un cuadro en un PDF en blanco. Guarda este código comoAddRectangles.java.
import java.awt.Color;
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
public class ShowColorBoxes {
public static void main(String args[]) throws Exception {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/BlankPage.pdf");
PDDocument document = PDDocument.load(file);
//Retrieving a page of the PDF Document
PDPage page = document.getPage(0);
//Instantiating the PDPageContentStream class
PDPageContentStream contentStream = new PDPageContentStream(document, page);
//Setting the non stroking color
contentStream.setNonStrokingColor(Color.DARK_GRAY);
//Drawing a rectangle
contentStream.addRect(200, 650, 100, 100);
//Drawing a rectangle
contentStream.fill();
System.out.println("rectangle added");
//Closing the ContentStream object
contentStream.close();
//Saving the document
File file1 = new File("C:/PdfBox_Examples/colorbox.pdf");
document.save(file1);
//Closing the document
document.close();
}
}
Compile y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac AddRectangles.java
java AddRectangles
Tras la ejecución, el programa anterior crea un rectángulo en un documento PDF que muestra la siguiente imagen.
Rectangle created
Si verifica la ruta proporcionada y abre el documento guardado: colorbox.pdf, puede observar que se inserta una caja en él como se muestra a continuación.