【问题标题】:How to define different font styles to PDFCells in a PDFTable如何在 PDFPTable 中为 PDF 单元格定义不同的字体样式
【发布时间】:2015-10-18 01:30:05
【问题描述】:

我需要您的助手应用不同的字体样式以使字体加粗,并使PDFTable 中的标题单元格居中对齐,下面的单元格不加粗,但与左侧的对齐方式不同。

使用当前代码,我只能将标题单元格设置为粗体并将标题内容对齐到中心,我需要您的帮助来修改以下动态生成的单元格的字体并更改对齐方式向左。那么我该怎么做呢?

目前的代码是:

dfPTable table = new PdfPTable(2);
Font earningsTitlefont = new Font(Font.TIMES_ROMAN,12, Font.BOLD);
PdfPCell c1 = new PdfPCell(new Phrase("Earnings Description",earningsTitlefont));
c1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(c1);
c1 = new PdfPCell(new Phrase("Earnings Amount",earningsTitlefont));
c1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(c1);

for (int i = 0; i < listEarnings.size(); i++) {
    String temp1 = listEarnings.get(i).getEarningsDescriptionSS();
    String temp2 = listEarnings.get(i).getEarningsAmountSS();

    table.addCell(temp1); 
    table.addCell(temp2);
}

【问题讨论】:

    标签: java fonts pdf-generation itext


    【解决方案1】:

    您可以将这些字体和对齐属性包装为Phrase 构造函数的参数,然后将其传递给.addCell( )。第一个参数。对齐和字体第三个。

    table.addCell( new Phrase(Element.ALIGN_LEFT,"text",new Font(..,..,...) ));
    

    对于左对齐,您只需将元素属性设置为Element.ALIGN_LEFT & 使用非粗体字体使用Font.NORMAL

    原来是这样:

    Font plainFont= new Font(Font.FontFamily.COURIER, 14,
                        Font.NORMAL);
    
    for (int i = 0; i < listEarnings.size(); i++) {
        String temp1 = listEarnings.get(i).getEarningsDescriptionSS();
        String temp2 = listEarnings.get(i).getEarningsAmountSS();
    
    
          table.addCell( new Phrase(Element.ALIGN_LEFT,temp1,plainFont));
         table.addCell( new Phrase(Element.ALIGN_LEFT,temp2,plainFont));
       // table.addCell(temp1); 
       // table.addCell(temp2);
    }
    

    只是为了让您记住 Font 类来自 com.itextpdf.text.Font 而不是 java.awt.Font

    【讨论】:

    • 我在几个小时前就试过了,除了对齐之外,它工作正常,但没有工作。我稍微修改了您的代码,它可以工作。谢谢
    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2013-10-05
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多