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 天的临时许可证。