第二个列表的起始编号如何设置?
请问如何让实心圆圈直径变大一点呢
怎么不改变段落分隔符,而使实心圆圈增大。请问.setNumberFormat(“\uF0B7”),还有别的更大的实心圆圈格式吗
@ouchli 您可以使用 Wingdings
\u006c
符号:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().applyBulletDefault();
builder.getListFormat().getListLevel().getFont().setName("Wingdings");
builder.getListFormat().getListLevel().setNumberFormat("\u006c");
builder.write("List item with big circle");
doc.save("C:\\Temp\\out.docx");
out.docx (8.0 KB)
PS:我会将您的主题移至Aspose中文支持论坛类别。
原始文档:文字文稿4.docx (21.3 KB)
NodeCollection<Paragraph> childNodes = document.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, false);
Paragraph paragraph = (Paragraph) childNodes.get(0);
ListLevel listLevel = paragraph.getListFormat().getListLevel();
listLevel.setNumberStyle(NumberStyle.LOWERCASE_LETTER);
listLevel.setNumberFormat("\0)");
listLevel.setTrailingCharacter(ListTrailingCharacter.TAB);
Paragraph paragraph2 = (Paragraph) childNodes.get(2);
ListLevel listLevel1 = paragraph2.getListFormat().getListLevel();
listLevel1.setNumberStyle(NumberStyle.ARABIC);
listLevel1.setNumberFormat("\0)");
listLevel1.setTrailingCharacter(ListTrailingCharacter.TAB);
结果文档:
列项测试结果.docx (20.1 KB)
image.png (3.9 KB)
得到的结果为什么会是 这样呢?
@ouchli 因为只有一个列表适用于你的段落,所以你不需要为每个段落获取列表。
Document doc = new Document("input.docx");
NodeCollection<Paragraph> childNodes = doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, false);
Paragraph paragraph = (Paragraph) childNodes.get(0);
List list = paragraph.getListFormat().getList();
ListLevel listLevel = list.getListLevels().get(0);
listLevel.setNumberStyle(NumberStyle.LOWERCASE_LETTER);
listLevel.setNumberFormat("\0)");
listLevel.setTrailingCharacter(ListTrailingCharacter.TAB);
ListLevel listLevel1 = list.getListLevels().get(1);
listLevel1.setNumberStyle(NumberStyle.ARABIC);
listLevel1.setNumberFormat("\u0001)");
listLevel1.setTrailingCharacter(ListTrailingCharacter.TAB);
doc.save("output.docx");
此外,每个级别都需要使用自己的数字格式。
请问如何判断一个段落有换行呢
listLevel.setNumberStyle(NumberStyle.ARABIC);
listLevel.setNumberFormat("\u0001)");
listLevel.setNumberFormat("\0)");
请问这两种编号样式有什么区别呢?
原始文档:文字文稿4.docx (15.1 KB)
如原始文档中 有两种列项形式, 使用上述两种编号样式结果不同。
请问那种编号样式可以让文档中的两种形式所得到的编号都为 1) 2) …
@ouchli 这是占位符 \x0000 至 \x0008,代表相应列表级别的数字。使用此代码即可获得结果:
Document doc = new Document("input (4).docx");
NodeCollection<Paragraph> childNodes = doc.getChildNodes(NodeType.PARAGRAPH, true);
for (Paragraph childNode : childNodes)
{
ListFormat listFormat = childNode.getListFormat();
boolean listItem = listFormat.isListItem();
if (listItem && !childNode.getParagraphFormat().isHeading())
{
ListLevel listLevel = childNode.getListFormat().getListLevel();
listLevel.setNumberStyle(NumberStyle.ARABIC);
if (childNode.getListFormat().getListLevelNumber() == 1)
listLevel.setNumberFormat("\u0001)");
else
listLevel.setNumberFormat("\0)");
continue;
}
}
doc.save("out.docx");