千家信息网

C#中VB.NET如何实现在Word中嵌入多媒体文件

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,小编给大家分享一下C#中VB.NET如何实现在Word中嵌入多媒体文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引入d
千家信息网最后更新 2025年01月17日C#中VB.NET如何实现在Word中嵌入多媒体文件

小编给大家分享一下C#中VB.NET如何实现在Word中嵌入多媒体文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

引入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.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

嵌入效果后的文档效果

注意事项

  1. 代码中的所有文件路径均为的VS程序的Debug路径,如:F:\VS2017Project\InsertOLE_Doc\EmbedMediaFile\bin\Debug\Result.docx,文件路径自定义为其他路径。

  2. 以上代码程序中引入的是免费Word库 Free Spire.Doc for .NET版本中的dll。

以上是"C#中VB.NET如何实现在Word中嵌入多媒体文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0