私はitextを使ってpdfファイルを生成しています。私はページの真ん中に自分のタイトルを揃えたい。現在、私はこのように使用していますページ中央の段落を整列
Paragraph preface = new Paragraph();
for (int i = 0; i < 10; i++) {
preface.add(new Paragraph(" "));
}
これは正しいですか、これを行うには別の最善の方法がありますか?
私はitextを使ってpdfファイルを生成しています。私はページの真ん中に自分のタイトルを揃えたい。現在、私はこのように使用していますページ中央の段落を整列
Paragraph preface = new Paragraph();
for (int i = 0; i < 10; i++) {
preface.add(new Paragraph(" "));
}
これは正しいですか、これを行うには別の最善の方法がありますか?
使用Paragraph#setAlignment(int)
:
Paragraph preface = new Paragraph();
preface.setAlignment(Element.ALIGN_CENTER);
は、より多くの可能な値についてはElement
インタフェースでALIGN_*
定数を参照してください。
.NET/C#バージョンをお探しの場合は、以下のとおりです。
Iは、.NET/C#のためiText7ライブラリを使用しています、と私は使用してこれを達成:
Paragraph preface = new Paragraph();
preface.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER);
の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();
}
を言っていますか? – mkl
* "次の行は実際には意味がありません:' p1.setAlignment(Element.TABLE) '" * - ここにはどこにでもそのコードは表示されません。 – mkl
あなたは本当に、本当に古いiTextのバージョンを使用しています。次の行は本当に意味をなさない:preface.setAlignment(Element.ALIGN_CENTER);古いitextバージョンの上ではなく、このメソッドを使用してください。cell.setVerticalAlignment(Element.ALIGN_MIDDLE);この方法ははるかに速く、より良い –
これが古いバージョンであるかどうかはわかりませんが、PdfWriterの場合、これらのメソッドはありませんでした。代わりに私が使用:
Paragraph p = new Paragraph("This too shall pass");
p.Alignment = Element.ALIGN_CENTER;
は受け入れ答えでははるかに簡単な解決策に比べて、ソリューションの利点は何シンプル –