¿Cómo puedo añadir un subrayado de la cabecera del pdf usando itext ColumnText? I establecer el ancho de línea de 100%, pero no funciona

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

La captura de pantalla de pdf generado

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 LineSeparatoren una Phrasecon 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.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=218582&siteId=1
Recomendado
Clasificación