Alle externen Hyperlinks in einer Präsentation abrufen

OpenXML-Präsentation


 string FilePath = @"..\..\..\..\Sample Files\";

string FileName = FilePath + "Alle externen Hyperlinks abrufen.pptx";

foreach (string s in GetAllExternalHyperlinksInPresentation(FileName))

Console.WriteLine(s);

// Gibt alle externen Hyperlinks in den Folien einer Präsentation zurück.

public static IEnumerable<String> GetAllExternalHyperlinksInPresentation(string fileName)

{

// Eine Liste von Zeichenfolgen deklarieren.

List<string> ret = new List<string>();

// Die Präsentationsdatei schreibgeschützt öffnen.

using (PresentationDocument document = PresentationDocument.Open(fileName, false))

{

    // Durch alle Folienteile im Präsentationsteil iterieren.

    foreach (SlidePart slidePart in document.PresentationPart.SlideParts)

    {

        IEnumerable<Drawing.HyperlinkType> links = slidePart.Slide.Descendants<Drawing.HyperlinkType>();

        // Durch alle Links im Folienteil iterieren.

        foreach (Drawing.HyperlinkType link in links)

        {

            // Durch alle externen Beziehungen im Folienteil iterieren. 

            foreach (HyperlinkRelationship relation in slidePart.HyperlinkRelationships)

            {

                // Wenn die Beziehungs-ID mit der Link-ID übereinstimmt...

                if (relation.Id.Equals(link.Id))

                {

                    // Füge die URI der externen Beziehung zur Liste der Zeichenfolgen hinzu.

                    ret.Add(relation.Uri.AbsoluteUri);

                }

            }

        }

    }

}

// Die Liste der Zeichenfolgen zurückgeben.

return ret;

}


Aspose.Slides

Aspose.Slides für .NET ermöglicht Entwicklern, die Hyperlinks in der Präsentation auf der Ebene von Präsentation, Folie und Textfeld zu verwalten. Die IHyperlinkQueries-Klasse hilft bei der Verwaltung von Hyperlinks in einer Präsentation.


 string FilePath = @"..\..\..\..\Sample Files\";

string FileName = FilePath + "Alle externen Hyperlinks abrufen.pptx";

//Ein Präsentationsobjekt instanziieren, das eine PPTX-Datei darstellt

Presentation pres = new Presentation(FileName);

//Die Hyperlinks aus der Präsentation abrufen

IList<IHyperlinkContainer> links = pres.HyperlinkQueries.GetAnyHyperlinks();

foreach (IHyperlinkContainer link in links)

    Console.WriteLine(link.HyperlinkClick.ExternalUrl);

Laden Sie das laufende Codebeispiel herunter

Beispielcode