Hantera hyperlänkar i presentationer med Python
Introduktion
En hyperlänk är en referens till en extern resurs, ett objekt eller ett dataobjekt, eller en specifik plats i en fil. Vanliga hyperlänktyper i PowerPoint-presentationer inkluderar:
- Länkar till webbplatser inbäddade i text, former eller media
- Länkar till bilder
Aspose.Slides för Python via .NET möjliggör ett brett utbud av hyperlänkrelevanta operationer i presentationer.
Lägg till URL‑hyperlänkar
Detta avsnitt förklarar hur du lägger till URL‑hyperlänkar till bild‑element när du arbetar med Aspose.Slides. Det täcker hur du tilldelar länkar till text, former och bilder för att säkerställa smidig navigation under presentationer.
Lägg till URL‑hyperlänkar till text
Följande kodexempel visar hur du lägger till en webbplats‑hyperlänk till text:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape.add_text_frame("Aspose: File Format APIs")
text_portion = shape.text_frame.paragraphs[0].portions[0]
text_portion.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion.portion_format.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Lägg till URL‑hyperlänkar till former eller ramar
Följande kodexempel visar hur du lägger till en webbplats‑hyperlänk till en form:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50)
shape.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Lägg till URL‑hyperlänkar till media
Aspose.Slides låter dig lägga till hyperlänkar till bilder, ljud‑ och videofiler.
Följande kodexempel visar hur du lägger till en hyperlänk till en bild:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# Lägg till en bild i presentationen.
with open("image.jpeg", "rb") as image_stream:
image_data = image_stream.read()
image = presentation.images.add_image(image_data)
# Skapa en bildram på bild 1 med bilden som lagts till tidigare.
picture_frame = slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
picture_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
picture_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Följande kodexempel visar hur du lägger till en hyperlänk till en ljudfil:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("audio.mp3", "rb") as audio_stream:
audio_data = audio_stream.read()
audio = presentation.audios.add_audio(audio_data)
audio_frame = slide.shapes.add_audio_frame_embedded(10, 10, 100, 100, audio)
audio_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
audio_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Följande kodexempel visar hur du lägger till en hyperlänk till en video:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with open("video.avi", "rb") as video_stream:
video_data = video_stream.read()
video = presentation.videos.add_video(video_data)
video_frame = slide.shapes.add_video_frame(10, 10, 100, 100, video)
video_frame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
video_frame.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Tips
Du kanske vill se Hantera OLE i presentationer med Python.Använd hyperlänkar för att skapa en innehållsförteckning
Eftersom hyperlänkar låter dig referera till objekt eller platser, kan du använda dem för att bygga en innehållsförteckning.
Exempelkoden nedan visar hur du skapar en innehållsförteckning med hyperlänkar:
import aspose.slides as slides
with slides.Presentation() as presentation:
first_slide = presentation.slides[0]
second_slide = presentation.slides.add_empty_slide(first_slide.layout_slide)
content_table = first_slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 40, 40, 300, 100)
content_table.fill_format.fill_type = slides.FillType.NO_FILL
content_table.line_format.fill_format.fill_type = slides.FillType.NO_FILL
content_table.text_frame.paragraphs.clear()
paragraph = slides.Paragraph()
paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID
paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black
paragraph.text = "Title of slide 2 .......... "
link_text_portion = slides.Portion()
link_text_portion.text = "Page 2"
link_text_portion.portion_format.hyperlink_manager.set_internal_hyperlink_click(second_slide)
paragraph.portions.add(link_text_portion)
content_table.text_frame.paragraphs.add(paragraph)
presentation.save("link_to_slide.pptx", slides.export.SaveFormat.PPTX)
Formatera hyperlänkar
Detta avsnitt visar hur du formaterar utseendet på hyperlänkar i Aspose.Slides. Du får lära dig att styra färg och andra stilalternativ för att hålla hyperlänkformatering enhetlig för text, former och bilder.
Hyperlänkfärg
Genom att använda egenskapen color_source i klassen Hyperlink kan du ange en hyperlänks färg och läsa dess färginformation. Denna funktion introducerades i PowerPoint 2019, så ändringar som görs via denna egenskap gäller inte för tidigare versioner av PowerPoint.
Följande exempel demonstrerar hur du lägger till hyperlänkar med olika färger på samma bild:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape1 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape1.add_text_frame("This is a sample of a colored hyperlink.")
text_portion1 = shape1.text_frame.paragraphs[0].portions[0]
text_portion1.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion1.portion_format.hyperlink_click.color_source = slides.HyperlinkColorSource.PORTION_FORMAT
text_portion1.portion_format.fill_format.fill_type = slides.FillType.SOLID
text_portion1.portion_format.fill_format.solid_fill_color.color = draw.Color.red
shape2 = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 450, 50, False)
shape2.add_text_frame("This is a sample of a regular hyperlink.")
text_portion2 = shape2.text_frame.paragraphs[0].portions[0]
text_portion2.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
presentation.save("hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Ta bort hyperlänkar från presentationer
Detta avsnitt förklarar hur du tar bort hyperlänkar från presentationer när du arbetar med Aspose.Slides. Du får lära dig hur du rensar länkmål från text, former och bilder samtidigt som du bevarar det ursprungliga innehållet och formateringen.
Ta bort hyperlänkar från text
Följande exempel kod visar hur du tar bort hyperlänkar från text på en presentationsbild:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
for shape in slide.shapes:
if type(shape) is slides.AutoShape:
for paragraph in shape.text_frame.paragraphs:
for text_portion in paragraph.portions:
text_portion.portion_format.hyperlink_manager.remove_hyperlink_click()
presentation.save("removed_hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Ta bort hyperlänkar från former eller ramar
Följande exempel kod visar hur du tar bort hyperlänkar från former på en presentationsbild:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
for shape in slide.shapes:
shape.hyperlink_manager.remove_hyperlink_click()
presentation.save("removed_hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Muterbara hyperlänkar
Klassen Hyperlink är muterbar. Med denna klass kan du ändra värdena för följande egenskaper:
Följande kodsnutt visar hur du lägger till en hyperlänk till en bild och sedan redigerar dess verktygstips:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape.add_text_frame("Aspose: File Format APIs")
text_portion = shape.text_frame.paragraphs[0].portions[0]
text_portion.portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
text_portion.portion_format.hyperlink_click.tooltip = "More than 70% of Fortune 100 companies trust Aspose APIs."
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
Stödda egenskaper i IHyperlinkQueries
Du kan komma åt HyperlinkQueries från presentationen, bilden eller texten som innehåller hyperlänken.
Klassen HyperlinkQueries stödjer dessa metoder:
Vanliga frågor
Hur kan jag skapa intern navigation inte bara till en bild, utan till en “sektion” eller den första bilden i en sektion?
Sektioner i PowerPoint är gruppering av bilder; navigationen pekar tekniskt på en specifik bild. För att “navigera till en sektion” länkar du vanligtvis till dess första bild.
Kan jag bifoga en hyperlänk till master‑bild‑element så att den fungerar på alla bilder?
Ja. Master‑bild‑ och layout‑element stödjer hyperlänkar. Sådana länkar visas på underordnade bilder och är klickbara under bildspelet.
Kommer hyperlänkar att bevaras vid export till PDF, HTML, bilder eller video?
I PDF och HTML bevaras länkarna generellt. Vid export till bilder och video överförs inte klickbarhet eftersom dessa format (raster‑ramar/video) inte stödjer hyperlänkar.