Trabalhar Com Listas

Uma lista em um documento Microsoft Word é um conjunto de propriedades de formatação de lista. As listas podem ser usadas em seus documentos para formatar, organizar e enfatizar o texto. As listas são uma ótima maneira de organizar dados em documentos e facilitam a compreensão dos pontos-chave pelos leitores.

Cada lista pode ter até 9 níveis e as propriedades de formatação, como estilo numérico, valor inicial, recuo, posição da tabulação, etc., são definidas separadamente para cada nível.

Em Aspose.Words, trabalhar com listas é representado pelo namespace Lists. No entanto, o objecto List pertence sempre à colecção ListCollection.

Este tópico descreve como trabalhar programaticamente com listas usando Aspose.Words.

Especificar a formatação de um nível de Lista

Os objetos de nível de lista são criados automaticamente quando uma lista é criada. Use as propriedades e métodos da classe ListLevel para controlar a formatação de níveis individuais de uma lista.

Reiniciar a lista para cada secção

Você pode reiniciar uma lista para cada seção Usando a propriedade IsRestartAtEachSection. Note que esta opção é suportada apenas nos formatos de Documento RTF, DOC e DOCX. Esta opção será gravada em DOCX apenas se OoxmlCompliance for superior a Ecma376.

O exemplo de código a seguir mostra como criar uma lista e reiniciá-la para cada seção:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>();
doc->get_Lists()->Add(ListTemplate::NumberDefault);
System::SharedPtr<List> list = doc->get_Lists()->idx_get(0);
// Set true to specify that the list has to be restarted at each section.
list->set_IsRestartAtEachSection(true);
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
builder->get_ListFormat()->set_List(list);
for (int32_t i = 1; i < 45; i++)
{
builder->Writeln(System::String::Format(u"List Item {0}", i));
// Insert section break.
if (i == 15)
{
builder->InsertBreak(BreakType::SectionBreakNewPage);
}
}
// IsRestartAtEachSection will be written only if compliance is higher then OoxmlComplianceCore.Ecma376
System::SharedPtr<OoxmlSaveOptions> options = System::MakeObject<OoxmlSaveOptions>();
options->set_Compliance(OoxmlCompliance::Iso29500_2008_Transitional);
System::String outputPath = outputDataDir + u"WorkingWithList.SetRestartAtEachSection.docx";
// Save the document to disk.
doc->Save(outputPath, options);