使用字体

字体是一组具有一定大小、颜色和设计的字符。 Aspose.Words允许您使用各种字体相关的类(包括Font类)处理字体。

字体格式

当前字体格式由Font属性返回的Font对象表示。 Font类包含在Microsoft Word中可能的各种字体属性。

下面的代码示例演示如何设置字体格式:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Open the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Specify font formatting before adding text.
Font font = builder.getFont();
font.setSize(16);
font.setColor(Color.blue);
font.setBold(true);
font.setName("Arial");
font.setUnderline(Underline.DASH);
builder.write("Sample text.");
doc.save(dataDir + "SetFontFormatting_out.doc");

填充属性现在也可用于字体设置文本的填充格式。 它提供了改变例如文本填充的前景颜色或透明度的能力。

获取字体行间距

字体的行间距是连续两行文本基线之间的垂直距离。 因此,行间距包括行之间的空白空间以及字符本身的高度。

Font类中引入了LineSpacing属性以获取此值,如下面的示例所示:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(GetFontLineSpacing.class);
// Initialize document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getFont().setName("Calibri");
builder.write("I'm a very nice formatted string.");
// Obtain line spacing.
Font font = builder.getDocument().getFirstSection().getBody().getFirstParagraph().getRuns().get(0).getFont();
System.out.println("lineSpacing = " + font.getLineSpacing());

字体EmphasisMark

Font类提供EmphasisMark属性以获取或设置要在格式设置中应用的EmphasisMark枚举值。

下面的代码示例演示如何设置EphasisMark属性:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document document = new Document();
DocumentBuilder builder = new DocumentBuilder(document);
builder.getFont().setEmphasisMark(EmphasisMark.UNDER_SOLID_CIRCLE);
builder.write("Emphasis text");
builder.writeln();
builder.getFont().clearFormatting();
builder.write("Simple text");
document.save(dataDir + "FontEmphasisMark_out.doc");