Java - Editar un PDF con Java

 
Vista:

Editar un PDF con Java

Publicado por Carlos Alberto Gaitán Moreno (1 intervención) el 11/09/2020 22:00:50
Cordial saludo,
El motivo de este mensaje es que necesito insertar una imagen en un pdf ya existente mediante Java, alguien me puede indicar como sería el procedimiento, gracias por su atención, quedó al pendiente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Editar un PDF con Java

Publicado por pablo (239 intervenciones) el 12/09/2020 15:13:47
Hola Calos,

Bueno para lo que quieras hacer, si lo haces con ireport es más fácil y si tienes el jxml y jasper pues será más fácil para editar, solo los abres con el programa y adjuntas la imágenes que necesitas y las acomodas como quieres. Luego compilas y ejecutas. Debería de funcionar.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Editar un PDF con Java

Publicado por Costero (148 intervenciones) el 14/09/2020 20:42:14
Baja la libreria itText jar de aqui: https://jar-download.com/artifacts/com.itextpdf/itextpdf/5.5.9/source-code

Y esta la clase de como hacerlo. Juega con las coordinadas de la imagen hasta que satifsfecho donde queda la imagen en el Pdf.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
 
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.*;
 
import javax.imageio.ImageIO;
 
 
public class PdfEditor {
 
    public static void main(String[] args) throws IOException, DocumentException {
 
        /* example inspired from "iText in action" (2006), chapter 2 */
 
        // input PDF
        PdfReader reader = new PdfReader("C:/temp/dummy.pdf");
 
        // output PDF
        PdfStamper stamper = new PdfStamper(reader,
                new FileOutputStream("C:/temp/dummy_modified.pdf"));
 
        //loop on pages (1-based)
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
 
            // get object for writing over the existing content;
            // you can also use getUnderContent for writing in the bottom layer
            PdfContentByte pdfContentByte = stamper.getOverContent(i);
 
            // pon la imagen. Juega con las coordinadas ...
            float x = reader.getPageSize(i).getWidth() - 400;
            float y = reader.getPageSize(i).getHeight() - 200;
            com.itextpdf.text.Image image = com.itextpdf.text.Image.getInstance(getImage(), null);
            image.setAbsolutePosition(x, y);
            pdfContentByte.addImage(image);
        }
 
        stamper.close();
    }
 
    private static Image getImage() {
 
        File file = new File("c:/temp/panda.jpg");
 
        BufferedImage image = null;
 
        try {
            image = ImageIO.read(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        System.out.println("done");
        return image;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar