Hallo Leute,
wie kann ich in einem Worddokument mehrere Querverweise mit Syncfusion benutzen?
Ich hab das Problem, dass der bei mir immer den ersten erzeugten Bookmark als Querverweis setzt.
Beispiel:
public void CrossReference()
{
WordDocument document = new WordDocument();
IWSection section = document.AddSection();
IWParagraph paragraph = section.AddParagraph();
paragraph.AppendBookmarkStart("Titel");
paragraph.AppendText("Punkt 1\n");
paragraph.AppendBookmarkEnd("Titel");
paragraph.AppendText("BEISPIEL TEXT 1\n");
paragraph.AppendBookmarkStart("Titel 2");
paragraph.AppendText("Punkt 2\n");
paragraph.AppendBookmarkEnd("Titel 2");
paragraph.AppendText("BEISPIEL TEXT 2\n");
section.AddParagraph();
paragraph = section.AddParagraph() as WParagraph;
//Gets the collection of bookmark start in the word document
List<Entity> items = document.GetCrossReferenceItems(ReferenceType.Bookmark);
paragraph.AppendText("Querverweis 1 -> ");
paragraph.AppendCrossReference(ReferenceType.Bookmark, ReferenceKind.ContentText, items[0], true, false, false, string.Empty);
paragraph.AppendText("Querverweis 2 -> ");
paragraph.AppendCrossReference(ReferenceType.Bookmark, ReferenceKind.ContentText, items[1], true, false, false, string.Empty);
//Updates the document Fields
document.UpdateDocumentFields();
document.Save("CrossReference.docx", FormatType.Docx);
document.Close();
}
Ergebnis:
Punkt 1
BEISPIEL TEXT 1
Punkt 2
BEISPIEL TEXT 2
Querverweis 1 -> Punkt 1
Querverweis 2 -> Punkt 1 <- Hier hätte ich aber Punkt 2 erwaret
hab den Fehler gefunden.
in den Zeilen:
Falsch:
paragraph.AppendBookmarkStart("Titel 2");
paragraph.AppendBookmarkEnd("Titel 2");
dürfen die Strings keine Leerzeichen enthalten!!!!
Richtig:
paragraph.AppendBookmarkStart("Titel2");
paragraph.AppendBookmarkEnd("Titel2");