spire.doc for .net 支持将 office(word/excel/powerpoint)、pdf、txt 等文件作为 ole 对象插入到 word 文档,双击该对象可直接访问或编辑该文件;除了以上常见的文件格式对象,也支持插入多媒体文件,如视频、音频等,本文将对此作详细介绍。
安装 spire.doc for .net
首先,您需要将 spire.doc for.net 包含的 dll 文件作为引用添加到您的 .net 项目中的 dll 文件可以从此链接下载,也可以通过 安装。
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 天的临时许可证。