web-dev-qa-db-fra.com

Aligner le paragraphe au centre de la page

J'utilise itext pour générer un fichier pdf. Je souhaite aligner mon titre au milieu de la page. Actuellement j'utilise comme ça

Paragraph preface = new Paragraph();  
for (int i = 0; i < 10; i++) {
    preface.add(new Paragraph(" "));
}

Est-ce correct ou existe-t-il une autre meilleure façon de procéder?.

21
PSR

Utilisez Paragraph#setAlignment(int) :

Paragraph preface = new Paragraph(); 
preface.setAlignment(Element.ALIGN_CENTER);

Voir le ALIGN_* constantes dans l'interface Element pour plus de valeurs possibles.

64
Alexis Pigeon

Si quelqu'un recherche une version .NET/C #, voici comment j'ai réalisé l'alignement CENTER.

J'utilise la bibliothèque iText7 pour .NET/C #, et j'ai atteint cet objectif en utilisant:

Paragraph preface = new Paragraph();
preface.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER);
3
Am_I_Helpful

Si vous cherchez une solution à Itext7, vous pouvez utiliser la méthode setTextAlignment(...).

Exemple:

Paragraph preface = new Paragraph();
// add text
preface.setTextAlignment(TextAlignment.CENTER);
3
Yubaraj

Je ne sais pas s'il s'agit d'une ancienne version, mais pour PdfWriter ces méthodes n'étaient pas là. Au lieu de cela, j'ai utilisé:

Paragraph p = new Paragraph("This too shall pass");
p.Alignment = Element.ALIGN_CENTER;
2
Andy Brown
 public static final String DEST = "results/tables/centered_text.pdf";


public static void main(String[] args) throws IOException, DocumentException {
    File file = new File(DEST);
    file.getParentFile().mkdirs();
    new CenteredTextInCell().createPdf(DEST);
}

public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
    Paragraph para = new Paragraph("Test", font);
    para.setLeading(0, 1);
    PdfPTable table = new PdfPTable(1);
    table.setWidthPercentage(100);
    PdfPCell cell = new PdfPCell();
    cell.setMinimumHeight(50);
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell.addElement(para);
    table.addCell(cell);
    document.add(table);
    document.close();
}
2
shehzad lakhani