小编给大家分享一下C#中VB.NET如何实现在Word中嵌入多媒体文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
引入dll
通过NuGet安装dll(2种方法)
1可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索Free Spire.Doc安装。
2将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 9.9.7
手动添加dll引用
可通过手动下载包,然后解压,找到BIN文件夹下的Spire.Doc.dll。在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”将本地路径BIN文件夹下的dll文件添加引用至程序。
嵌入多媒体文件
代码中嵌入多媒体文件的方法是通过调用AppendOleObject(Stream oleStream, DocPicture olePicture, string fileExtension)方法来实现,该方法中的三个参数解释分别为:
oleStream: OLE文件流
olePicture: 用于显示OLE对象的图像(图标)
fileExtension: 嵌入的文件对象扩展名(如:mp3、mp4、avi等)
主要代码步骤解析
初始化Document类的一个新实例并添加一个新的节。
添加段落,调用Paragraph.AppendOleObject()方法将多媒体文件作为OLE对象嵌入到段落。
通过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.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports System.DrawingImports System.IONamespace 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 ClassEnd Namespace
嵌入效果后的文档效果
注意事项
代码中的所有文件路径均为的VS程序的Debug路径,如:F:\VS2017Project\InsertOLE_Doc\EmbedMediaFile\bin\Debug\Result.docx,文件路径自定义为其他路径。
以上代码程序中引入的是免费Word库 Free Spire.Doc for .NET版本中的dll。
以上是“C#中VB.NET如何实现在Word中嵌入多媒体文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!