如何使用 OpenXml SDK 向演示文稿中的形状添加超链接
本文关键字:添加 超链接 文稿中 OpenXml 何使用 SDK | 更新日期: 2023-09-27 18:37:23
我正在使用C#应用程序进行开发,以创建PowerPoint演示文稿。
我正在使用OpenXML SDK 2.0和MS Office PP 2007。
我能够从模板克隆我的幻灯片并在其上添加新形状。
但是现在我想为我的形状添加一个超链接。
我该怎么做?
我找到了这个:教程,但我需要在运行时添加这些超链接。
我已经试过了。
SlidePart currentSlidePart = CloneSlidePart(presentationPart, slidePart);
Slide s = currentSlidePart.Slide;
currentSlidePart.AddHyperlinkRelationship(new System.Uri("myuri", System.UriKind.Absolute), true, "rId2");
然后我调用了创建形状的方法:
s.CommonSlideData.ShapeTree.Append(generateTextShape("some content", shape));
这是方法:
public static Shape generateTextShape(String input, ShapePosition shapePosition)
{
Shape shape1 = new Shape();
...
D.HyperlinkOnClick hyperlinkOnClick1 = new D.HyperlinkOnClick() { Id = "rId2" };
nonVisualDrawingProperties1.Append(hyperlinkOnClick1);
...
return shape1;
}
现在,什么也没发生。我做错了什么,有什么建议吗?
(类 ShapePosition 仅适用于形状的 x,y,宽度、高度)
此致敬意!
你说"什么都没有发生",所以我不打算假设。 请尝试以下一些想法:
1) 超链接以幻灯片放映模式显示。 将演示文稿置于幻灯片放映模式(按 F5) - 然后单击形状。
2) 您是否将nonVisualDrawingProperties1
附加到shape1
? 要判断,请右键单击PP2007中的形状,然后选择超链接...查看您的网址是否存在。 如果不存在,则需要确保nonVisualDrawingProperties1
generateShapeText
方法添加到shape1
中。
3)如果URL在那里,但它不起作用,也许你的关系ID不正确?在具有相同文件的PP2007中,创建一个新的简单形状,添加新的超链接,使用新的文件名保存它,并使用生产力工具比较这两个文件。 您应该看到 PP2007 生成的新超链接和关系。
您在 generateShapeText
中发布了部分代码。 如果您可以输入完整的代码,这可能有助于我们与您一起解决此问题。 -干杯。