Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas con Rectangle en itext

Estas en el tema de Problemas con Rectangle en itext en el foro de Java en Foros del Web. Buenas de nuevo! Estoy intentando crear un pdf con la librería itext. En un momento dado, he de dibujar unos cuadros, así que decidí echar ...
  #1 (permalink)  
Antiguo 18/06/2012, 00:59
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Problemas con Rectangle en itext

Buenas de nuevo!
Estoy intentando crear un pdf con la librería itext.

En un momento dado, he de dibujar unos cuadros, así que decidí echar mano de la clase Rectangle.

Pero no se qué debo hacer mal ya que no me los dibuja... bueno, si le pongo un color de relleno sí que salen, pero si les quito el relleno no sale nada... he probado varias maneras de insertar el rectángulo y nada...

Os adjunto las funciones que estoy haciendo servir:

Código:
protected List<Rectangle> makePattern() throws ParseErrorException{
		List<Rectangle> ret = new ArrayList<Rectangle>();
		if(this.getKind() == 0){
			Rectangle r = new Rectangle(19 + this.getSize()[1], 750 - (this.getSize()[0] + this.getSize()[3]), 
					                    19 + this.getSize()[1] + this.getSize()[2], 750 - this.getSize()[0]);
			
			r.setBorderWidth(3);
			r.setBorderColor(BaseColor.BLUE);
			
			//r.setBackgroundColor(new BaseColor(153, 153, 153));
			ret.add(r);
			
			return ret;
		}
		else if(this.getKind() == 1)
			return ret;
		else if(this.getKind() == 2)
			return ret;
		else
			throw new ParseErrorException(ParseErrorException.ERROR);
	}
Este método devuelve una lista de Rectangle, dependiendo de una variable (kind). La variable size es un array que contiene varios parámetros (top, left, width, height...), y se llena en otro método.

Código:
private void addPDF(Printable            print,
			         Document          doc,
			         PdfContentByte cb) throws ParseErrorException{
		if(print.equals(null))
			throw new ParseErrorException(ParseErrorException.ERROR);
		
		List<Rectangle>        list = print.print();
		Iterator<Rectangle> it   = list.iterator();
		
		while(it.hasNext()){
			cb.saveState();
			cb.setColorStroke(BaseColor.BLACK);
			cb.setLineWidth(1);
			cb.rectangle((Rectangle)it.next());
			cb.stroke();
			cb.restoreState();
		}

		/*try {
			while(it.hasNext())
				doc.add((Rectangle)it.next());
		} catch (DocumentException e) {
			e.printStackTrace();
		}*/
	}
Este es el método que debería insertar los Rectangle. Si les pongo relleno salen, y sino, no me salen...
¿Qué estoy haciendo mal?

Saludos y gracias

Etiquetas: clase, itext, jar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.