Spire.Presentation for .NET 6.1版本支持嵌入Zip对象到PPT幻灯片。下面通过C#及VB.NET代码展示如何来实现Zip对象添加。在PPT中嵌入Excel对象可参考这篇文章。
C#
using Spire.Presentation;
using Spire.Presentation.Drawing;
using System;
using System.Drawing;
using System.IO;
namespace InsertZip
{
class Program
{
static void Main(string[] args)
{
//创建一个PPT文档,并获取第一张幻灯片(创建的PPT默认包含一张空白幻灯片)
Presentation ppt = new Presentation();
ISlide slide = ppt.Slides[0];
//读取zip文件到byte数组
byte[] data = File.ReadAllBytes("sample.zip");
//在幻灯片中绘制形状,并添加zip文件对象
Rectangle rec = new Rectangle(120, 120, 100, 100);
IOleObject ole = slide.Shapes.AppendOleObject("sample.zip", data, rec);
ole.ProgId = "Package";
//设置对象封面图片
Image image = Image.FromFile("logo.png");
IImageData oleImage = ppt.Images.Append(image);
ole.SubstituteImagePictureFillFormat.Picture.EmbedImage = oleImage;
//保存文档
ppt.SaveToFile("InsertZip.pptx", Spire.Presentation.FileFormat.Pptx2013);
System.Diagnostics.Process.Start("InsertZip.pptx");
}
}
}
VB.NET
Imports Spire.Presentation
Imports Spire.Presentation.Drawing
Imports System.Drawing
Imports System.IO
Namespace InsertZip
Class Program
Private Shared Sub Main(args As String())
'创建一个PPT文档,并获取第一张幻灯片(创建的PPT默认包含一张空白幻灯片)
Dim ppt As New Presentation()
Dim slide As ISlide = ppt.Slides(0)
'读取zip文件到byte数组
Dim data As Byte() = File.ReadAllBytes("sample.zip")
'在幻灯片中绘制形状,并添加zip文件对象
Dim rec As New Rectangle(120, 120, 100, 100)
Dim ole As IOleObject = slide.Shapes.AppendOleObject("sample.zip", data, rec)
ole.ProgId = "Package"
'设置对象封面图片
Dim image__1 As Image = Image.FromFile("logo.png")
Dim oleImage As IImageData = ppt.Images.Append(image__1)
ole.SubstituteImagePictureFillFormat.Picture.EmbedImage = oleImage
'保存文档
ppt.SaveToFile("InsertZip.pptx", Spire.Presentation.FileFormat.Pptx2013)
System.Diagnostics.Process.Start("InsertZip.pptx")
End Sub
End Class
End Namespace
嵌入效果: