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.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嵌入多媒體文件的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Java實現在Word中嵌入多媒體(視頻、音頻)文件
- C#實現給Word每一頁設置不同圖片水印
- Java在Word中添加多行圖片水印
- Java實現為Word每一頁設置不同圖片水印的效果
- Java實現替換Word中文本和圖片功能