Changing the font color and size when using FontSelector
23,080
That's easy. Here you have a code snippet that adds the Times Roman text in Blue and the Chinese text in Red:
FontSelector selector = new FontSelector();
Font f1 = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12);
f1.setColor(BaseColor.BLUE);
Font f2 = FontFactory.getFont("MSung-Light",
"UniCNS-UCS2-H", BaseFont.NOT_EMBEDDED);
f2.setColor(BaseColor.RED);
selector.addFont(f1);
selector.addFont(f2);
Phrase ph = selector.process(TEXT);
In your case you need two FontSelectors.
FontSelector selector1 = new FontSelector();
Font f1 = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12);
f1.setColor(BaseColor.BLUE);
selector1.addFont(f1);
Phrase ph = selector1.process(str1);//First one
FontSelector selector2 = new FontSelector();
Font f2 = FontFactory.getFont(FontFactory.TIMES_ROMAN, 12);
f2.setColor(BaseColor.GRAY);
selector2.addFont(f2);
Phrase ph = selector2.process(str2);//Second one
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Author by
Admin
Updated on October 31, 2020Comments
-
Admin over 3 years
I am using
iText5
(Java) to write a PDF which may contain Chinese characters. So I am usingFontSelector
to process the String and this works fine.Now the problem is that if there are 2 strings
String str1 = "Hello Test1"; String str2 = "Hello Test2";
I need to write
str1
witchFont Color = Blue
andsize = 10
, whereasstr2
withFont Color = Gray
andsize = 25
.I am not able to figure out how to achieve this using
FontSelector
.Any help is appreciated.