2016-08-31 54 views
0

私は大学テキストのテキストを5.5.9を使ってPDFを生成しようとしています。私はレイアウトを制御するためにPdfPTableを使用することに決めました。ドキュメントの先頭には、次の行と概要セクションが含まれていますどのように私はPdfPCell内の行間の間隔を制御できますか?

名:誕生の 日:

主: マイナー:

今の出力が所望よりも、これらの線の間に多くのスペースを追加します。 (行はダブルスペースであるかのように見えます。)ここでは、関連するように見えるコードスニペットです:

PdfPCell overviewCell = new PdfPCell(); 
//other codes here... 

overviewCell.setPadding(0f);;  
overviewCell.setLeading(0f, 0f); 

overviewCell.addElement(new Phrase("Name:", normalFont)); 
overviewCell.addElement(Chunk.NEWLINE); 
overviewCell.addElement(new Phrase("Date of Birth:", normalFont)); 
overviewCell.addElement(Chunk.NEWLINE); 
overviewCell.addElement(Chunk.NEWLINE); 
overviewCell.addElement(new Phrase("Major:", normalFont)); 

私はまた、PDFWriterののColumnText (ct)を取得しようとした、とoverviewCell.setColumn(ct)を呼び出す前に、直接そのオブジェクトでの作業が、それはしませんでした間隔を固定してください。

セル内のテキストの行間をどのように制御するか教えてください。

ありがとうございます!

答えて

0

サブテーブルの作成を追加し、必要な量の概要セルに追加するだけではいかがですか。これは、あなたのための多くのフォーマットを処理します。

private static final String _name = "Name:"; 
private static final String _dateOfBirth = "Date Of Birth:"; 
private static final String _major = "Major:"; 

PdfPTable table = new PdfPTable(2); 

PdfPCell spaceCell = new PdfPCell(new Phrase(" ", normalFont)); 
PdfPCell nameCell = new PdfPCell(new Phrase(_name, normalFont)); 
PdfPCell dateOfBirthCell = new PdfPCell(new Phrase(_dateOfBirth, normalFont)); 
PdfPcell majorCell = new PdfPCell(new Phrase(_major, normalFont)); 

table.addCell(nameCell); 
table.addCell(spaceCell); 
table.addCell(dateOfBirthCell); 
table.addCell(spaceCell); 
table.addCell(spaceCell); // if you want an extra line break here a fill a line 
table.addCell(spaceCell); // with space cells 
table.addCell(majorCell); 

overviewCell.addElement(table); 
+0

素晴らしい提案!私は各フレーズをメインテーブルのセル(行)にすることを考えていましたが、私はあなたのサブテーブルの考えが好きです。ありがとう、サム! (私がここに来たので、あなたの返信のためのアップアップはカウントされません。) –

+0

問題のない男。お役に立てて嬉しいです。あなたは答えを受け入れることができます –

関連する問題