我正在使用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#版本,下面是我如何實現CENTER對齊。
我使用iText7庫.NET/C#和我這個使用來實現:
Paragraph preface = new Paragraph();
preface.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER);
公共靜態最後絃樂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();
}
不知道這是一個老的版本,但對於PdfWriter這些方法都沒有了。相反,我用:
Paragraph p = new Paragraph("This too shall pass");
p.Alignment = Element.ALIGN_CENTER;
喜歡簡單 –