在 Java 中從 PowerPoint PPT 添加或刪除超鏈接

在各種情況下,我們必須在 PowerPoint 演示文稿中插入超鏈接,例如提供網頁的 URL。您可以在 PowerPoint PPT 幻燈片中創建文本、圖像、形狀或媒體元素的超鏈接。在本文中,您將學習如何使用 Java 向 PowerPoint PPT/PPTX 添加超鏈接。最後,我們還將討論如何以編程方式從 PPT 幻燈片中刪除超鏈接。

要在 PowerPoint 演示文稿中插入或刪除超鏈接,我們將使用 Aspose.Slides for Java。 API 提供了一系列功能來無縫地創建和操作 PPT/PPTX 演示文稿。此外,它還允許您將演示文稿轉換為其他文檔或圖像格式。您可以 下載 它的 JAR 或使用以下 Maven 配置安裝它。

存儲庫:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

依賴:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

PowerPoint 演示文稿中的超鏈接可以添加到文本、圖像、形狀、音頻或視頻元素。以下部分介紹瞭如何使用 Java 在 PPT/PPTX 演示文稿中向這些元素添加超鏈接。

以下是用 Java 在 PowerPoint PPT/PPTX 中添加文本超鏈接的步驟。

以下代碼示例顯示如何使用 Java 在 PowerPoint PPTX 中添加文本超鏈接。

// 創建演示文稿
Presentation presentation = new Presentation();
try {
	// 添加自動形狀
	IAutoShape shape = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 100,
			100, 600, 50, false);
	
	// 添加超鏈接
	shape.setHyperlinkClick(new Hyperlink("https://www.aspose.com/"));
	shape.getHyperlinkClick().setTooltip("More than 70% Fortune 100 companies trust Aspose APIs");

	// 保存演示文稿
	presentation.save("add-text-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

以下步驟演示瞭如何使用 Java 在 PowerPoint 演示文稿中插入形狀超鏈接。

以下代碼示例顯示如何使用 Java 在 PowerPoint 中創建形狀超鏈接。

// 創建演示文稿
Presentation presentation = new Presentation();
try {
	// 添加自動形狀
	IAutoShape shape1 = presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 100,
			100, 600, 50, false);
	// 設置文字
	shape1.addTextFrame("Aspose: File Format APIs");

	// 獲取文本部分的格式
	IPortionFormat portionFormat = shape1.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0)
			.getPortionFormat();
	
	// 添加超鏈接
	portionFormat.setHyperlinkClick(new Hyperlink("https://www.aspose.com/"));
	portionFormat.getHyperlinkClick().setTooltip("More than 70% Fortune 100 companies trust Aspose APIs");
	portionFormat.setFontHeight(32);

	// 保存演示文稿
	presentation.save("add-shape-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

下面是用Java在PowerPoint PPT中插入圖片超鏈接的步驟。

以下代碼示例顯示如何使用 Java 在 PowerPoint 中創建圖像的超鏈接。

// 創建演示文稿
Presentation presentation = new Presentation();
try {
	// 將圖像添加到演示文稿
	IPPImage image = presentation.getImages().addImage(Files.readAllBytes(Paths.get("image.png")));
	
	// 根據先前添加的圖像在幻燈片 1 上創建相框
	IPictureFrame pictureFrame = presentation.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image);

	// 創建超鏈接
	pictureFrame.setHyperlinkClick(new Hyperlink("https://www.aspose.com/"));
	pictureFrame.getHyperlinkClick().setTooltip("More than 70% Fortune 100 companies trust Aspose APIs");

	// 保存演示文稿
	presentation.save("add-image-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

您可以按照以下步驟將音頻超鏈接添加到 PowerPoint PPT/PPTX:

以下代碼片段演示瞭如何使用 Java 在 PowerPoint 中添加音頻超鏈接。

// 創建演示文稿
Presentation presentation = new Presentation();
try {
	// 添加音頻元素
	IAudio audio = presentation.getAudios().addAudio(Files.readAllBytes(Paths.get("audio.mp3")));
	IAudioFrame audioFrame = presentation.getSlides().get_Item(0).getShapes().addAudioFrameEmbedded(10, 10, 100, 100, audio);

	// 創建超鏈接
	audioFrame.setHyperlinkClick(new Hyperlink("https://www.aspose.com/"));
	audioFrame.getHyperlinkClick().setTooltip("More than 70% Fortune 100 companies trust Aspose APIs");

	// 保存演示文稿
	presentation.save("add-audio-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

要將視頻超鏈接添加到 PowerPoint PPT/PPTX,請按照以下步驟操作:

以下代碼片段演示瞭如何使用 Java 在 PowerPoint 中添加視頻超鏈接:

// 創建演示文稿
Presentation presentation = new Presentation();
try {
	// 添加視頻
	IVideo video = presentation.getVideos().addVideo(Files.readAllBytes(Paths.get("video.avi")));
	IVideoFrame videoFrame = presentation.getSlides().get_Item(0).getShapes().addVideoFrame(10, 10, 100, 100, video);

	// 創建超鏈接
	videoFrame.setHyperlinkClick(new Hyperlink("https://www.aspose.com/"));
	videoFrame.getHyperlinkClick().setTooltip("More than 70% Fortune 100 companies trust Aspose APIs");

	// 保存演示文稿
	presentation.save("add-video-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

在本節中,我們將演示如何從 PowerPoint 幻燈片中刪除超鏈接。這些超鏈接可以是我們上面討論過的任何類型。以下是執行此操作的步驟。

以下代碼示例顯示如何從 Java 中的 PowerPoint PPT 幻燈片中刪除超鏈接。

// 負載演示
Presentation presentation = new Presentation("presentation.pptx");
try {
	// 從文本中刪除超鏈接
	ISlide slide = presentation.getSlides().get_Item(0);
	for (IShape shape : slide.getShapes())
	{
		// 投射到 IAutoShape
		IAutoShape autoShape = (IAutoShape)shape;
		if (autoShape != null)
		{
			// 循環段落
			for (IParagraph paragraph : autoShape.getTextFrame().getParagraphs())
			{
				// 循環遍歷文本部分
				for (IPortion portion : paragraph.getPortions())
				{
					portion.getPortionFormat().getHyperlinkManager().removeHyperlinkClick();
				}
			}
		}
	}
	
	// 從形狀中刪除超鏈接
	for (IShape shape : slide.getShapes())
	{
		shape.getHyperlinkManager().removeHyperlinkClick();
	}

	// 保存演示文稿
	presentation.save("remove-hyperlink.pptx", SaveFormat.Pptx);
} finally {
	if (presentation != null)
		presentation.dispose();
}

獲得免費許可證

通過獲得免費的臨時許可證,可以不受評估限制地使用 Aspose.Slides for Java。

結論

在本文中,您了解瞭如何使用 Java 在 PowerPoint PPT 中添加或刪除超鏈接。特別是,您已經了解瞭如何創建文本、圖像、形狀、音頻和視頻元素的超鏈接。此外,我們還介紹瞭如何顯式刪除文本或形狀超鏈接。此外,您可以通過訪問 文檔 來探索更多關於 Aspose.Slides for Java 的信息。此外,您可以將您的查詢發佈到我們的論壇

也可以看看