Ich habe eine Tabelle, die ein paar Zahlenspalten hat. Ich kann die Zeilenspalten richtig ausrichten, aber ich kann die Kopfspalte nicht richtig ausrichten. Der Grund, glaube ich, liegt darin, dass der PdfPHeaderCell-Konstruktor kein Phrase-Objekt akzeptiert, daher muss ich cell.addElement() verwenden, was ihn in den Composite-Modus versetzt und die von mir spezifizierte Ausrichtung ignoriert.PdfPHeaderCell rechts Ausrichtung Inhalt im Textmodus
Der einzige Weg, den ich gefunden habe, um den Effekt zu erreichen, nach dem ich suche, ist, einen Absatz zu erstellen, die Ausrichtung zuzuweisen, und dann das in die Kopfzeile zu setzen. Das scheint ein wenig klobig zu sein, da ich keine Merkmale eines Absatzes brauche, ich muss es nur ausrichten.
Gibt es einen saubereren Weg, dies zu tun?
/**
* Builds a basic header cell from the given string
*
* @param content
* @param alignment
* @return PdfPHeaderCell
*/
protected static PdfPHeaderCell getGenericHeaderCell(String content, Integer alignment)
{
PdfPHeaderCell cell = new PdfPHeaderCell();
Paragraph p = new Paragraph();
p.add(new Phrase(content, TABLE_HEADER));
if (alignment != null)
{
p.setAlignment(alignment);
}
cell.addElement(p);
cell.setBorder(Rectangle.BOTTOM);
cell.setBorderColorBottom(TABLE_HEADER_BORDERCOLOR);
cell.setBorderWidthBottom(1);
cell.setPaddingTop(0);
return cell;
}