我有一个String
,它由一个常量部分和一个可变部分组成。
我希望变量在文本段落中使用常规字体进行格式化,而我希望常量部分为粗体。
这是我的代码:
String cc_cust_name = request.getParameter("CC_CUST_NAME");
document.add(new Paragraph(" NAME " + cc_cust_name, fontsmallbold));
表中单元格的代码如下所示:
cell1 = new PdfPCell(new Phrase("Date of Birth" + cc_cust_dob ,fontsmallbold));
在这两种情况下,第一部分(" NAME "
和"Date of Birth"
)都应该是粗体,而变量部分(cc_cust_name
和cc_cust_dob
)应该是常规的。
答案 0 :(得分:4)
目前您正在使用单一字体创建Paragraph
:fontsmallbold
。您想要创建一个使用两种不同字体的Paragraph
:
Font regular = new Font(FontFamily.HELVETICA, 12);
Font bold = Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
Paragraph p = new Paragraph("NAME: ", bold);
p.add(new Chunk(CC_CUST_NAME, regular));
如您所见,我们创建的Paragraph
内容"NAME: "
使用字体bold
。然后,我们使用Chunk
字体Paragraph
向CC_CUST_NAME
添加regular
。
另请参阅How to set two different colors for a single string in itext和Applying color to Strings in Paragraph using Itext,这两个问题涉及同一主题。
你也可以在PdfPCell
的上下文中使用它,在这种情况下你创建一个使用两种字体的Phrase
:
Font regular = new Font(FontFamily.HELVETICA, 12);
Font bold = Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
Phrase p = new Phrase("NAME: ", bold);
p.add(new Chunk(CC_CUST_NAME, regular));
PdfPCell cell = new PdfPCell(p);