panjiefeng:
//set the width to 90%, but the generated pdf shows 100%. Please look at the picture below
LineSeparator underLine = new LineSeparator(1, 90f, null, Element.ALIGN_CENTER, 0);
Phrase phrase1 = new Phrase();
phrase1.add(underLine);
ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER, phrase1, 0, pageSize.getHeight() - 75, 0);
lo que yo puse 90% o 100% de la anchura, que muestra 100% mirada Éntrenos en la imagen de abajo
cgrim:
Cuando se quiere hacer en línea de posición absoluta que es mejor para dibujar directamente:
PdfContentByte canvas = writer.getDirectContent();
canvas.setColorStroke(BaseColor.BLACK);
canvas.moveTo(36, pageSize.getHeight() - 75);
canvas.lineTo(pageSize.getWidth() - 36, pageSize.getHeight() - 75);
canvas.closePathStroke();
En su ejemplo el problema es en el uso de LineSeparator
en una Phrase
con la combinación de ColumnText.showTextAligned()
método que se utiliza para la posición del texto en la posición absoluta. Cuando se utiliza el posicionamiento relativo document.add(underLine)
entonces la anchura funciona.