如何使用printf以粗体方式打印输出?"[1m测试粗体"
没有任何作用。
String format = "%-20s %-15s %-20s %-15s %-10s";
System.out.printf(format, "Name", "Group_name", "Java_Prof_Level", "Cpr_Nr", "Gender", "[1m testing bold");
如何使用printf以粗体方式打印输出?"[1m测试粗体"
没有任何作用。
String format = "%-20s %-15s %-20s %-15s %-10s";
System.out.printf(format, "Name", "Group_name", "Java_Prof_Level", "Cpr_Nr", "Gender", "[1m testing bold");
在Java的System.out
中无法打印粗体,它只会将内容流式传输到标准输出流,因此原则上只能输出未格式化的文本。
然而,一些软件包解释特殊字符序列(即所谓的ANSI转义序列)以允许格式化文本。
请注意,ANSI转义序列以转义字符开始,因此您需要将其添加到字符串中。(尝试 "\u001B[1m 我是粗体"
或者 "\033[0;1m" + "我是粗体"
。)
大多数Unix终端默认解释ANSI转义序列。在旧版DOS时代,您需要使用ANSI.SYS才能使转义序列起作用。
在Windows和Eclipse终端中,这些代码不起作用。
string ESC = "\u001B";
string GS = "\u001D";
string InitializePrinter = ESC + "@";
string BoldOn = ESC + "E" + "\u0001";
string BoldOff = ESC + "E" + "\0";
string DoubleOn = GS + "!" + "\u0011"; // 2x sized text (double-high + double-wide)
string DoubleOff = GS + "!" + "\0";
printJob.Print(InitializePrinter);
printJob.PrintLine("Here is some normal text.");
printJob.PrintLine(BoldOn + "Here is some bold text." + BoldOff);
printJob.PrintLine(DoubleOn + "Here is some large text." + DoubleOff);
PDF文档的第一页:这里是一个参考链接
我必须在命令前加""。否则它不起作用:
oStream.print("" + (char)27 + (char)97 + (char)1); // For centering text
[1m
"明显是关于ANSI转义码(例如,虚拟终端)的,搜索引擎的访问者可能会在这里被困住。 - Peter Mortensen