Te traemos la respuesta a esta traba, o por lo menos eso creemos. Si continuas con dudas deja tu comentario, que sin pensarlo
Por favor, eche un vistazo al ejemplo LeftRight. Ofrece dos soluciones diferentes para su problema:
Solución 1: usa pegamento
Por pegamento, me refiero a un especial Chunk
que actúa como un separador que separa dos (o más) otros Chunk
objetos:
Chunk glue = new Chunk(new VerticalPositionMark());
Paragraph p = new Paragraph("Text to the left");
p.add(new Chunk(glue));
p.add("Text to the right");
document.add(p);
De esta manera, tendrás "Text to the left"
en el lado izquierdo y "Text to the right"
en el lado derecho.
Solución 2: utilizar una PdfPTable
Supongamos que algún día, alguien le pide que ponga algo en el medio también, entonces usando PdfPTable
es la solución más preparada para el futuro:
PdfPTable table = new PdfPTable(3);
table.setWidthPercentage(100);
table.addCell(getCell("Text to the left", PdfPCell.ALIGN_LEFT));
table.addCell(getCell("Text in the middle", PdfPCell.ALIGN_CENTER));
table.addCell(getCell("Text to the right", PdfPCell.ALIGN_RIGHT));
document.add(table);
En su caso, solo necesita algo a la izquierda y algo a la derecha, por lo que necesita crear una tabla con solo dos columnas: table = new PdfPTable(2)
.
En caso de que deambules por el getCell()
método, esto es lo que parece:
public PdfPCell getCell(String text, int alignment)
PdfPCell cell = new PdfPCell(new Phrase(text));
cell.setPadding(0);
cell.setHorizontalAlignment(alignment);
cell.setBorder(PdfPCell.NO_BORDER);
return cell;
Solución 3: Justifica el texto
Esto se explica en la respuesta a esta pregunta: ¿Cómo justificar el texto usando iTextSharp?
Sin embargo, esto conducirá a resultados extraños tan pronto como haya espacios en sus cadenas. Por ejemplo: funcionará si tienes "Name:ABC"
. No funcionará si tienes "Name: Bruno Lowagie"
como "Bruno"
y "Lowagie"
se moverá hacia el medio si justifica la línea.
valoraciones y reseñas
Recuerda que puedes dar difusión a esta división si te fue de ayuda.