Hi Team,
I need help in setting indent to a list. In the below code snippet, I have 2 independent lists. I want them both to have left indents of 50. Additionally, I want the second list to gain extra left indent depending upon user’s input. In this case, it’s the variable ‘extraIndent’ resembling that user input. The output I get is two lists having the same left indent. Why is the second list not having the extra indent?
public static void main(String args[]) throws Exception
{
AsposeUtils.setupLicense();
double extraIndent = 18;
Document doc = new Document();
DocumentBuilder docBuilder = new DocumentBuilder(doc);
//Paragraph level indent - 50 applied
docBuilder.getParagraphFormat().setLeftIndent(50);
//List1 begins here
docBuilder.getListFormat().applyNumberDefault();
docBuilder.getListFormat().getListLevel().setNumberStyle(NumberStyle.BULLET);
docBuilder.getListFormat().getListLevel().setNumberFormat("\u00B7"); //$NON-NLS-1$
docBuilder.getListFormat().getListLevel().getFont().setName("Symbol"); //$NON-NLS-1$
docBuilder.getCurrentParagraph().getParagraphBreakFont().clearFormatting();
docBuilder.write("Bullet List Main");
docBuilder.getFont().clearFormatting();
//List 2 begins here
docBuilder.writeln();
docBuilder.getParagraphFormat().clearFormatting();
//Again Paragraph level indent - 50 applied
docBuilder.getParagraphFormat().setLeftIndent(50);
docBuilder.getFont().clearFormatting();
docBuilder.getListFormat().applyNumberDefault();
docBuilder.getListFormat().getListLevel().setNumberStyle(NumberStyle.BULLET);
docBuilder.getListFormat().getListLevel().setNumberFormat("\u00B7"); //$NON-NLS-1$
docBuilder.getListFormat().getListLevel().getFont().setName("Symbol"); //$NON-NLS-1$
//EXTRA INDENT of 18 being added
ListLevel listLevel = docBuilder.getListFormat().getListLevel();
double numberPosition = listLevel.getNumberPosition();
double textPosition = listLevel.getTextPosition();
docBuilder.getListFormat().getListLevel().setNumberPosition(numberPosition + extraIndent);
docBuilder.getListFormat().getListLevel().setTextPosition(textPosition + extraIndent);
listLevel.setTabPosition(listLevel.getTextPosition());
docBuilder.getParagraphFormat().setBidi(false);
docBuilder.getCurrentParagraph().getParagraphBreakFont().clearFormatting();
docBuilder.write("Bullet list with extra indent of 18");
docBuilder.getFont().clearFormatting();
doc.updateFields();
doc.save("D:\\ABCDE\\trial\\test3.doc");
}