Para crear un objeto en un PDF con Canvas usando Java se puede hacer usando una biblioteca llamada iText. iText es una biblioteca de Java creada originalmente por Bruno Lowagie que permite crear PDF, leer PDF y manipularlos.
Bibliotecas requeridas:
iText slf4j (Logging Library)
Ejemplo: dibujar un círculo en un PDF
Acercarse:
- Obtenga el directorio de trabajo actual del programa java en ejecución para crear el archivo PDF en la misma ubicación
- Cree un objeto PdfWriter (de la biblioteca itextpdf) que escribe el archivo PDF en la ruta dada
- Cree un objeto PdfDocument vacío y agréguele una página usando el objeto PdfPage
- Cree el lienzo usando el objeto PdfCanvas en la página PDF
- Cree el objeto en el lienzo y rellénelo con color.
A continuación se muestra la implementación del enfoque anterior:
Java
// Drawing an object in a PDF with Canvas using Java import com.itextpdf.kernel.colors.*; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfPage; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.layout.Document; // importing generic packages import java.io.*; import java.util.*; public class DrawPDF { public static void main(String args[]) throws Exception { // getting path of current working directory // to create the pdf file in the same directory of // the running java program String path = System.getProperty("user.dir"); path += "/DrawPDF.pdf"; // Creating a PdfWriter object using the path PdfWriter writer = new PdfWriter(path); // Creating a PdfDocument object PdfDocument pdfDoc = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdfDoc); // Creating a new page and adding to the pdfDoc // object PdfPage pdfPage = pdfDoc.addNewPage(); // Creating a PdfCanvas object to draw the circle // object PdfCanvas canvas = new PdfCanvas(pdfPage); // Setting Green color to the circle, boolean fill // set to true. ColorsConstants from itext library // hosts an array of different colors canvas.setColor(ColorConstants.GREEN, true); // creating a circle with parameters : X-coordinate, // Y-coordinate , Circle Diameter canvas.circle(300, 400, 200); // Filling the circle canvas.fill(); // Closing the document doc.close(); System.out.println( "Object drawn & PDf created successfully!"); } }
Producción:
El archivo PDF se crea en la ruta especificada.
Publicación traducida automáticamente
Artículo escrito por yasserarafat y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA