Spire.Doc for .NET 支持将 Office(Word/Excel/PowerPoint)、PDF、txt 等文件作为 OLE 对象插入到 Word 文档,双击该对象可直接访问或编辑该文件;除了以上常见的文件格式对象,也支持插入多媒体文件,如视频、音频等,本文将对此作详细介绍。
安装 Spire.Doc for .NET
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中的 DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用 AppendOleObject(Stream oleStream, DocPicture olePicture, string fileExtension) 方法来实现,该方法中的三个参数解释分别为:
- oleStream: OLE 文件流
- olePicture: 用于显示 OLE 对象的图像(图标)
- fileExtension: 嵌入的文件对象扩展名(如:mp3、mp4、avi 等)
主要代码步骤如下:
- 初始化 Document 类的新实例并添加一个新的 Section 节。
- 添加段落,调用 Paragraph.AppendOleObject() 方法将多媒体文件作为 OLE 对象嵌入到段落。
- 通过 Document.SaveToFile(string fileName, FileFormat fileFormat) 方法保存文档到指定路径。
- C#
- VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
using System.IO;
namespace EmbedMediaFile
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化Document类的对象,并添加Section
            Document doc = new Document();
            Section section = doc.AddSection();
            //定义段落样式
            ParagraphStyle style1 = new ParagraphStyle(doc);
            style1.Name = "Style";
            style1.CharacterFormat.FontName = "Calibri";
            style1.CharacterFormat.FontSize = 18;
            style1.CharacterFormat.Bold = true;
            style1.CharacterFormat.TextColor = Color.BlueViolet;
            doc.Styles.Add(style1);
            //添加段落1,嵌入视频文件
            Paragraph para1 = section.AddParagraph();
            para1.AppendText("嵌入视频文件:");           
            para1.ApplyStyle(style1.Name);
            Stream s1 = File.OpenRead("Video.mp4");
            DocPicture pic1 = new DocPicture(doc);
            pic1.LoadImage(Image.FromFile("logo1.png"));
            para1.AppendOleObject(s1, pic1, "mp4");
            //添加一个空白段落2
            Paragraph para2 = section.AddParagraph();
            //添加段落3,嵌入音频文件
            Paragraph para3 = section.AddParagraph();
            para3.AppendText("嵌入音频文件:");
            para3.ApplyStyle(style1.Name);
            Stream s2 = File.OpenRead("Audio.mp3");
            DocPicture pic2 = new DocPicture(doc);
            pic2.LoadImage(Image.FromFile("logo2.png"));
            para3.AppendOleObject(s2, pic2, "mp3");
            //保存文档
            doc.SaveToFile("Result.docx", FileFormat.Docx2013);
        }
    }
}Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.Drawing
Imports System.IO
Namespace EmbedMediaFile
	Class Program
		Private Shared Sub Main(args As String())
			'实例化Document类的对象,并添加Section Dim doc As New Document() Dim section As Section = doc.AddSection() '定义段落样式
			Dim style1 As New ParagraphStyle(doc)
			style1.Name = "Style"
			style1.CharacterFormat.FontName = "Calibri"
			style1.CharacterFormat.FontSize = 18
			style1.CharacterFormat.Bold = True
			style1.CharacterFormat.TextColor = Color.BlueViolet
			doc.Styles.Add(style1)
			'添加段落1,嵌入视频文件 Dim para1 As Paragraph = section.AddParagraph() para1.AppendText("嵌入视频文件:") para1.ApplyStyle(style1.Name) Dim s1 As Stream = File.OpenRead("Video.mp4") Dim pic1 As New DocPicture(doc) pic1.LoadImage(Image.FromFile("logo1.png")) para1.AppendOleObject(s1,pic1,"mp4") '添加一个空白段落2
			Dim para2 As Paragraph = section.AddParagraph()
			'添加段落3,嵌入音频文件 Dim para3 As Paragraph = section.AddParagraph() para3.AppendText("嵌入音频文件:") para3.ApplyStyle(style1.Name) Dim s2 As Stream = File.OpenRead("Audio.mp3") Dim pic2 As New DocPicture(doc) pic2.LoadImage(Image.FromFile("logo2.png")) para3.AppendOleObject(s2,pic2,"mp3") '保存文档
			doc.SaveToFile("Result.docx", FileFormat.Docx2013)
		End Sub
	End Class
End Namespace嵌入后的文档效果:

申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。
 



 
					



