Laden...

Syncfusion Cross Reference (DocIO)

Erstellt von iceman962 vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.176 Views
I
iceman962 Themenstarter:in
16 Beiträge seit 2007
vor 8 Jahren
Syncfusion Cross Reference (DocIO)

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

I
iceman962 Themenstarter:in
16 Beiträge seit 2007
vor 8 Jahren

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