Lavorare con le liste

Un elenco in un documento Microsoft Word è un insieme di proprietà di formattazione dell’elenco. Gli elenchi possono essere utilizzati nei documenti per formattare, organizzare e enfatizzare il testo. Gli elenchi sono un ottimo modo per organizzare i dati nei documenti e rendono più facile per i lettori comprendere i punti chiave.

Ogni elenco può avere fino a livelli 9 e le proprietà di formattazione, come lo stile del numero, il valore iniziale, il rientro, la posizione delle tabulazioni, ecc. sono definite separatamente per ogni livello.

In Aspose.Words, lavorare con le liste è rappresentato dallo spazio dei nomi Lists. Tuttavia, l’oggetto List appartiene sempre alla raccolta ListCollection.

Questo argomento descrive come lavorare a livello di programmazione con gli elenchi utilizzando Aspose.Words.

Specificare la formattazione per un livello di elenco

Gli oggetti a livello di elenco vengono creati automaticamente quando viene creato un elenco. Utilizzare le proprietà e i metodi della classe ListLevel per controllare la formattazione dei singoli livelli di un elenco.

Restart List per ogni sezione

È possibile riavviare un elenco per ogni sezione utilizzando la proprietà IsRestartAtEachSection. Si noti che questa opzione è supportata solo nei formati di documento RTF, DOC e DOCX. Questa opzione verrà scritta su DOCX solo se OoxmlCompliance è superiore a Ecma376.

Il seguente esempio di codice mostra come creare un elenco e riavviarlo per ogni sezione:

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);