class Program
{
static void Main(string[] args)
{
string fileName = @"..\..\Documents\Myppt7.pptx";
foreach (string s in GetAllExternalHyperlinksInPresentation(fileName))
Console.WriteLine(s);
}
// Returns all the external hyperlinks in the slides of a presentation.
public static IEnumerable GetAllExternalHyperlinksInPresentation(string fileName)
{
// Declare a list of strings.
List ret = new List();
// Open the presentation file as read-only.
using (PresentationDocument document = PresentationDocument.Open(fileName, false))
{
// Iterate through all the slide parts in the presentation part.
foreach (SlidePart slidePart in document.PresentationPart.SlideParts)
{
IEnumerable links = slidePart.Slide.Descendants();
// Iterate through all the links in the slide part.
foreach (Drawing.HyperlinkType link in links)
{
// Iterate through all the external relationships in the slide part.
foreach (HyperlinkRelationship relation in slidePart.HyperlinkRelationships)
{
// If the relationship ID matches the link ID…
if (relation.Id.Equals(link.Id))
{
// Add the URI of the external relationship to the list of strings.
ret.Add(relation.Uri.AbsoluteUri);
}
}
}
}
}
// Return the list of strings.
return ret;
}
}
class Program
{
static void Main(string[] args)
{
string fileName = @"..\..\Documents\Myppt7.pptx";
foreach (string s in GetAllExternalHyperlinksInPresentation(fileName))
Console.WriteLine(s);
Console.ReadLine();
}
// Returns all the external hyperlinks in the slides of a presentation.
public static IEnumerable GetAllExternalHyperlinksInPresentation(string fileName)
{
// Declare a list of strings.
List ret = new List();
Presentation pres = new Presentation(fileName, FileFormat.Pptx2010);
//Get the hyperlinks from presentation slides
foreach (ISlide slide in pres.Slides)
{
foreach (IAutoShape shape in slide.Shapes)
{
ret.Add(shape.TextFrame.TextRange.ClickAction.Address);
}
}
return ret;
}
}