引入dll
1.通过NuGet安装dll(2种方法)
1.1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索Free Spire.Doc安装。
1.2将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 9.9.7
2.手动添加dll引用
可通过手动下载包,然后解压,找到BIN文件夹下的Spire.Doc.dll。在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”将本地路径BIN文件夹下的dll文件添加引用至程序。
嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用AppendOleObject(Stream oleStream, DocPicture olePicture, string fileExtension)方法来实现,该方法中的三个参数解释分别为:
- oleStream: OLE文件流
- olePicture: 用于显示OLE对象的图像(图标)
- fileExtension: 嵌入的文件对象扩展名(如:mp3、mp4、avi等)
主要代码步骤解析
1. 初始化Document类的一个新实例并添加一个新的节。
2. 添加段落,调用Paragraph.AppendOleObject()方法将多媒体文件作为OLE对象嵌入到段落。
3. 通过Document.SaveToFile(string fileName, FileFormat fileFormat)保存文档到指定路径。
C#
- 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);
- }
- }
- }
VB.NET
- 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
嵌入效果后的文档效果

注意事项
- 代码中的所有文件路径均为的VS程序的Debug路径,如:F:\VS2017Project\InsertOLE_Doc\EmbedMediaFile\bin\Debug\Result.docx,文件路径自定义为其他路径。
- 以上代码程序中引入的是免费Word库 Free Spire.Doc for .NET版本中的dll。?
以上就是C#/VB.NET 实现在Word中嵌入多媒体(视频、音频)文件 的详细内容,更多关于C#/VB.NET Word嵌入多媒体文件的资料请关注w3xue其它相关文章!