2013-01-17 7 views
15

私はitextを使ってpdfファイルを生成しています。私はページの真ん中に自分のタイトルを揃えたい。現在、私はこのように使用していますページ中央の段落を整列

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

これは正しいですか、これを行うには別の最善の方法がありますか?

答えて

51

使用Paragraph#setAlignment(int)

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

は、より多くの可能な値についてはElementインタフェースでALIGN_*定数を参照してください。

+0

は受け入れ答えでははるかに簡単な解決策に比べて、ソリューションの利点は何シンプル –

3

.NET/C#バージョンをお探しの場合は、以下のとおりです。

Iは、.NET/C#のためiText7ライブラリを使用しています、と私は使用してこれを達成:

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

のpublic static final文字列DEST = "結果/テーブル/ 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(); 
} 
+0

を言っていますか? – mkl

+0

* "次の行は実際には意味がありません:' p1.setAlignment(Element.TABLE) '" * - ここにはどこにでもそのコードは表示されません。 – mkl

+0

あなたは本当に、本当に古いiTextのバージョンを使用しています。次の行は本当に意味をなさない:preface.setAlignment(Element.ALIGN_CENTER);古いitextバージョンの上ではなく、このメソッドを使用してください。cell.setVerticalAlignment(Element.ALIGN_MIDDLE);この方法ははるかに速く、より良い –

0

これが古いバージョンであるかどうかはわかりませんが、PdfWriterの場合、これらのメソッドはありませんでした。代わりに私が使用:

Paragraph p = new Paragraph("This too shall pass"); 
    p.Alignment = Element.ALIGN_CENTER; 
関連する問題