Ich habe einen Knoten Importeur, wie dieseBullet-List-Nummer in neues Dokument kopieren?
Dim nodeImporter As New Aspose.Words.NodeImporter(_wordDocument, documentComponentDocument,
Aspose.Words.ImportFormatMode.UseDestinationStyles)
geht ich bin mit childNode von einem Dokument zum anderen zu kopieren. Mein Kindknoten ist eine Aufzählungsliste.
documentComponentSection.Body.AppendChild(nodeImporter.ImportNode(childNode, True))
Aber mein Problem ist, dass einige Eigenschaften von childNode wie ListLabel heißt Aufzählungsliste Nummerierung ist nicht
Wie pro Ihre Antwort kopiert zu werden folgende ich versuchte. Aber es funktioniert nicht, wenn ich für jeden Knoten ein neues Dokument erstelle.
Aspose.Words.Document srcDoc = new Aspose.Words.Document(Mydir + "input.docx");
Aspose.Words.Document dstDoc = new Aspose.Words.Document();
var ctr = 0;
int listid = 0;
Aspose.Words.Lists.List dstList = null;
foreach (Aspose.Words.Paragraph paragraph in srcDoc.GetChildNodes(Aspose.Words.NodeType.Paragraph, true))
{
Aspose.Words.NodeImporter imp = new Aspose.Words.NodeImporter(srcDoc, dstDoc, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
Aspose.Words.Node impNode = imp.ImportNode(paragraph, true);
if (((Aspose.Words.Paragraph)impNode).IsListItem)
{
((Aspose.Words.Paragraph)impNode).ListFormat.ListLevel.StartAt = paragraph.ListFormat.List.ListId;
if (listid != paragraph.ListFormat.List.ListId)
{
listid = paragraph.ListFormat.List.ListId;
dstList = dstDoc.Lists.AddCopy(paragraph.ListFormat.List);
}
((Aspose.Words.Paragraph)impNode).ListFormat.List = dstList;
}
dstDoc.FirstSection.Body.RemoveAllChildren();
dstDoc.FirstSection.Body.AppendChild(impNode);
var index = ctr++;
dstDoc.Save(MyDir + index.ToString() + ".docx");
}
Jeder Ausgang enthält doc Listenindex als 1.
Was ist, wenn ich bereit bin, jeden Knoten in einem neuen Dokument zu kopieren. In diesem Fall beginnt der Index jedes Dokuments bei 1. Ich muss den Listenindex im Auge behalten. – TBAG
Ich habe meine Frage mit Codeblock aktualisiert, den ich versucht habe. – TBAG
Beachten Sie, dass Aspose.Words das gleiche Verhalten wie MS Word nachahmt. Wenn Sie ein Listenelement aus einem Word-Dokument kopieren und in ein neues leeres Dokument einfügen, erhalten Sie die gleiche Ausgabe. Das Listenelement beginnt bei 1. Um dieses Problem zu umgehen, können Sie das aktualisierte Codebeispiel in meiner Antwort verwenden. Hoffe das hilft dir. –