Free Support Forum - aspose.com

Page Link

How can I create a button with a link to a other page? I will create a text with a link too.

Thanks Sven

Dear Sven,

The following code adds an internal link on the shape object (rectangle) on the first slide that takes to third slide on click.

Is this code helpful for you?

void AddInternalHyperLink()

{

Presentation pres = new Presentation();

//Add three slides

Slide fstSlide = pres.GetSlideByPosition(1);

Slide sndSlide=pres.AddEmptySlide();

Slide thdSlide = pres.AddEmptySlide();

//Create a rectangle on first slide

Aspose.Slides.Rectangle rect=fstSlide.Shapes.AddRectangle(500, 500, 500, 500);

rect.FillFormat.Type = FillType.Solid;

rect.FillFormat.ForeColor = Color.Red;

//Add an internal link on rectangle that will take you to the third slide

//whenever rectangle is clicked

rect.ClearLink();

rect.AddLink().SetInternalHyperlink(thdSlide);

//And two elipses on other two slides

sndSlide.Shapes.AddEllipse(500, 500, 500, 500);

thdSlide.Shapes.AddEllipse(1000, 1000, 3000, 3000);

//Write the presentation to view

pres.Write("outAddInternalLink.ppt");

}

Dear Sven,

Please also see this code; this code illustrates how to create a text with a link to internal or external document.

Is this code helpful for you?

void AddSomeLink()

{

Presentation pres = new Presentation();

//Add two more slides with elipses

//---2nd Slide

Slide sndSlide = pres.AddEmptySlide();

sndSlide.Shapes.AddEllipse(500, 500, 1000, 1000);

//--3rd Slide

Slide thdSlide = pres.AddEmptySlide();

thdSlide.Shapes.AddEllipse(1000, 1000, 2000, 2000);

//Add a Textframe in first slide

Slide fstSlide = pres.GetSlideByPosition(1);

Aspose.Slides.Rectangle rect = fstSlide.Shapes.AddRectangle(600, 1000, 4700, 3000);

rect.LineFormat.ShowLines = false;

rect.AddTextFrame("Click Aspose or Third Slide");

//Add a text link to external hyperlink

TextFrame tf = rect.TextFrame;

tf.Links.Clear();

Link lnk=tf.Links.AddLink();

lnk.Begin = tf.Text.IndexOf("Aspose");

lnk.End = lnk.Begin + "Aspose".Length;

lnk.SetExternalHyperlink("http://www.aspose.com");

//Add a text link to internal hyperlink

lnk = tf.Links.AddLink();

lnk.Begin = tf.Text.IndexOf("Third Slide");

lnk.End = lnk.Begin + "Third Slide".Length;

lnk.SetInternalHyperlink(thdSlide);

//Write presentation to view

pres.Write("outAddSomeLink.ppt");

}

Please see the same code as above in JAVA

-------------------------------------------------------------------------------

public static void AddSomeLink() throws Exception

{

Presentation pres=new Presentation();

//Add two more slides with elipses

//--2nd Slide

Slide sndSlide=pres.addEmptySlide();

sndSlide.getShapes().addEllipse(500, 500, 1000,1000);

//--3rd Slide

Slide thdSlide=pres.addEmptySlide();

thdSlide.getShapes().addEllipse(500, 500, 1000,1000);

//Add a Textframe in first slide

Slide fstSlide=pres.getSlideByPosition(1);

com.aspose.slides.Rectangle rect=fstSlide.getShapes().addRectangle(600, 1000, 4700, 3000);

rect.getLineFormat().setShowLines(false);

rect.addTextFrame("Click Aspose or Third Slide");

//Add a text link to external hyperlink

TextFrame tf=rect.getTextFrame();

tf.getLinks().clear();

Link lnk=tf.getLinks().addLink();

lnk.setBegin(tf.getText().indexOf("Aspose"));

lnk.setEnd(lnk.getBegin()+ "Aspose".length());

lnk.setExternalHyperlink("http://www.aspose.com");

//Add a text link to internal hyperlink

lnk=tf.getLinks().addLink();

lnk.setBegin(tf.getText().indexOf("Third Slide"));

lnk.setEnd(lnk.getBegin()+ "Third Slide".length());

lnk.setInternalHyperlink(thdSlide);

//Write presentation to view

pres.write(new FileOutputStream("c:\\outAddSomeLink.ppt"));

}