超链接
Contents
[
Hide
]
演示如何在形状上使用 Aspose.Slides for PHP via Java 添加、访问、删除和更新超链接。
添加超链接
创建一个矩形形状,并为其添加指向外部网站的超链接。
function addHyperlink() {
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 50);
$shape->getTextFrame()->setText("Aspose");
$paragraph = $shape->getTextFrame()->getParagraphs()->get_Item(0);
$portion = $paragraph->getPortions()->get_Item(0);
$portion->getPortionFormat()->setHyperlinkClick(new Hyperlink("https://www.aspose.com"));
$presentation->save("hyperlink.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
访问超链接
从形状的文本部分读取超链接信息。
function accessHyperlink() {
$presentation = new Presentation("hyperlink.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 假设第一个形状包含超链接。
$shape = $slide->getShapes()->get_Item(0);
$paragraph = $shape->getTextFrame()->getParagraphs()->get_Item(0);
$portion = $paragraph->getPortions()->get_Item(0);
$hyperlink = $portion->getPortionFormat()->getHyperlinkClick();
} finally {
$presentation->dispose();
}
}
删除超链接
从形状的文本中清除超链接。
function removeHyperlink() {
$presentation = new Presentation("hyperlink.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 假设第一个形状包含超链接。
$shape = $slide->getShapes()->get_Item(0);
$paragraph = $shape->getTextFrame()->getParagraphs()->get_Item(0);
$portion = $paragraph->getPortions()->get_Item(0);
$portion->getPortionFormat()->setHyperlinkClick(null);
$presentation->save("hyperlink_removed.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
更新超链接
更改现有超链接的目标。使用 HyperlinkManager 修改已包含超链接的文本,这模拟了 PowerPoint 安全更新超链接的方式。
function updateHyperlink() {
$presentation = new Presentation("hyperlink.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
// 假设第一个形状包含超链接。
$shape = $slide->getShapes()->get_Item(0);
$paragraph = $shape->getTextFrame()->getParagraphs()->get_Item(0);
$portion = $paragraph->getPortions()->get_Item(0);
// 在已有文本中更改超链接应通过
// HyperlinkManager 而不是直接设置属性来完成。
// 这模仿了 PowerPoint 安全更新超链接的方式。
$portion->getPortionFormat()->getHyperlinkManager()->setExternalHyperlinkClick("https://new.example.com");
$presentation->save("hyperlink_updated.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}