Gérer les Hyperliens
Un hyperlien est une référence à un objet ou à des données ou à un endroit dans quelque chose. Voici des hyperliens courants dans les présentations PowerPoint :
- Liens vers des sites web dans des textes, des formes ou des médias
- Liens vers des diapositives
Aspose.Slides pour Python via .NET vous permet d’effectuer de nombreuses tâches impliquant des hyperliens dans les présentations.
Ajout d’Hyperliens URL
Ajout d’Hyperliens URL à des Textes
Ce code Python vous montre comment ajouter un hyperlien de site web à un texte :
import aspose.slides as slides
with slides.Presentation() as presentation:
shape1 = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape1.add_text_frame("Aspose : API de format de fichier")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
shape1.text_frame.paragraphs[0].portions[0].portion_format.font_height = 32
presentation.save("presentation-out.pptx", slides.export.SaveFormat.PPTX)
Ajout d’Hyperliens URL à des Formes ou Cadres
Ce code exemple en Python vous montre comment ajouter un hyperlien de site web à une forme :
import aspose.slides as slides
with slides.Presentation() as pres:
shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50)
shape.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
Ajout d’Hyperliens URL à des Médias
Aspose.Slides vous permet d’ajouter des hyperliens à des images, des fichiers audio et des fichiers vidéo.
Ce code exemple vous montre comment ajouter un hyperlien à une image :
import aspose.slides as slides
with slides.Presentation() as pres:
# Ajoute une image à la présentation
with open("img.jpeg", "rb") as fs:
data = fs.read()
image = pres.images.add_image(data)
# Crée un cadre d'image sur la diapositive 1 basé sur l'image précédemment ajoutée
pictureFrame = pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
pictureFrame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
pictureFrame.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
Ce code exemple vous montre comment ajouter un hyperlien à un fichier audio :
import aspose.slides as slides
with slides.Presentation() as pres:
with open("audio.mp3", "rb") as fs:
data = fs.read()
audio = pres.audios.add_audio(data)
audioFrame = pres.slides[0].shapes.add_audio_frame_embedded(10, 10, 100, 100, audio)
audioFrame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
audioFrame.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
Ce code exemple vous montre comment ajouter un hyperlien à une vidéo :
import aspose.slides as slides
with slides.Presentation() as pres:
with open("video.avi", "rb") as fs:
data = fs.read()
video = pres.videos.add_video(data)
videoFrame = pres.slides[0].shapes.add_video_frame(10, 10, 100, 100, video)
videoFrame.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
videoFrame.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
Astuce
Vous pouvez consulter Gérer les OLE.Utilisation des Hyperliens pour Créer une Table des Matières
Étant donné que les hyperliens vous permettent d’ajouter des références à des objets ou des lieux, vous pouvez les utiliser pour créer une table des matières.
Ce code exemple vous montre comment créer une table des matières avec des hyperliens :
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 = "Titre de la diapositive 2 .......... "
linkPortion = slides.Portion()
linkPortion.text = "Page 2"
linkPortion.portion_format.hyperlink_manager.set_internal_hyperlink_click(second_slide)
paragraph.portions.add(linkPortion)
content_table.text_frame.paragraphs.add(paragraph)
presentation.save("link_to_slide.pptx", slides.export.SaveFormat.PPTX)
Formatage des Hyperliens
Couleur
Avec la propriété color_source dans l’interface IHyperlink, vous pouvez définir la couleur des hyperliens et aussi obtenir des informations de couleur à partir des hyperliens. La fonctionnalité a été introduite pour la première fois dans PowerPoint 2019, donc les changements impliquant la propriété ne s’appliquent pas aux anciennes versions de PowerPoint.
Ce code exemple montre une opération où des hyperliens avec différentes couleurs ont été ajoutés à la même diapositive :
import aspose.slides as slides
with slides.Presentation() as presentation:
shape1 = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape1.add_text_frame("Ceci est un exemple d'hyperlien coloré.")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click.color_source = slides.HyperlinkColorSource.PORTION_FORMAT
shape1.text_frame.paragraphs[0].portions[0].portion_format.fill_format.fill_type = slides.FillType.SOLID
shape1.text_frame.paragraphs[0].portions[0].portion_format.fill_format.solid_fill_color.color = draw.Color.red
shape2 = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 450, 50, False)
shape2.add_text_frame("Ceci est un exemple d'hyperlien habituel.")
shape2.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
presentation.save("presentation-out-hyperlink.pptx", slides.export.SaveFormat.PPTX)
Suppression des Hyperliens dans les Présentations
Suppression des Hyperliens des Textes
Ce code Python vous montre comment supprimer l’hyperlien d’un texte dans une diapositive de présentation :
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
slide = pres.slides[0]
for shape in slide.shapes:
if type(shape) is slides.AutoShape:
for paragraph in shape.text_frame.paragraphs:
for portion in paragraph.portions:
portion.portion_format.hyperlink_manager.remove_hyperlink_click()
pres.save("pres-removed-hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Suppression des Hyperliens des Formes ou Cadres
Ce code Python vous montre comment supprimer l’hyperlien d’une forme dans une diapositive de présentation :
import aspose.slides as slides
with slides.Presentation("demo.pptx") as pres:
slide = pres.slides[0]
for shape in slide.shapes:
shape.hyperlink_manager.remove_hyperlink_click()
pres.save("pres-removed-hyperlinks.pptx", slides.export.SaveFormat.PPTX)
Hyperlien Mutable
La classe Hyperlink est mutable. Avec cette classe, vous pouvez changer les valeurs de ces propriétés :
- IHyperlink.TargetFrame
- IHyperlink.Tooltip
- IHyperlink.History
- IHyperlink.HighlightClick
- IHyperlink.StopSoundOnClick
Le code exemple montre comment ajouter un hyperlien à une diapositive et modifier son tooltip par la suite :
import aspose.slides as slides
with slides.Presentation() as presentation:
shape1 = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 600, 50, False)
shape1.add_text_frame("Aspose : API de format de fichier")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click = slides.Hyperlink("https://www.aspose.com/")
shape1.text_frame.paragraphs[0].portions[0].portion_format.hyperlink_click.tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"
shape1.text_frame.paragraphs[0].portions[0].portion_format.font_height = 32
presentation.save("presentation-out.pptx", slides.export.SaveFormat.PPTX)
Propriétés Supportées dans IHyperlinkQueries
Vous pouvez accéder à IHyperlinkQueries à partir d’une présentation, d’une diapositive ou d’un texte pour lequel l’hyperlien est défini.
La classe IHyperlinkQueries prend en charge ces méthodes et propriétés :