保存Word首页为图片
# 保存Word首页为图片
注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。
PageOffice客户端控件提供了WebSaveAsImage方法,可以将当前Word文档的第一页另存为.jpg类型的图片,并上传到Web服务器端。如果每次保存文件(客户端执行WebSave方法)的时候,同时再调用一次WebSaveAsImage方法,那就实现了实时更新服务器上Word文件首页图片的功能,此图片可以用来作为文档首页的缩略图,便于用户在不打开文件的情况下区分和辨别各个Word文档。
与WebSave方法相同,WebSaveAsImage方法也是把图片的文件流上传到PageOfficeCtrl对象的SaveFilePage属性指向的地址,比如说服务器端方法:/saveFile,所以saveFile方法中需要先通过FileSaver对象获取FileExtName,如果值是“.jpg”,就表明客户端是执行了WebSaveAsImage方法,此时把文件流保存为jpg图片格式;如果值是.doc或.docx,那么就保存Word文档。
# 后端代码
- 在后端编写代码调用webOpen方法打开指定Word文件;
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
poCtrl.webOpen("D:\\test.docx", OpenModeType.docNormalEdit, "张佚名"); // 打开文件
PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
poCtrl.WebOpen("doc/test.doc", PageOfficeNetCore.OpenModeType.docNormalEdit, "tom");
// Make sure to add code blocks to your code group
- 在客户端js代码pageofficectrl.SaveFilePage属性指向的后端地址接口中,创建FileSaver对象处理文件的保存工作。
FileSaver fs = new FileSaver(request, response);
if (fs.getFileExtName().equals(".jpg")) {
fs.saveToFile("D:\\test_FirstPage.jpg");
} else {
fs.saveToFile("D:\\test.docx");
}
fs.close();
PageOfficeNetCore.FileSaver fs = new PageOfficeNetCore.FileSaver(Request, Response);
await fs.LoadAsync();
string webRootPath = _webHostEnvironment.WebRootPath;
if (fs.FileExtName.Equals(".jpg")){
fs.SaveToFile(webRootPath + "/SaveFirstPageAsImg/images/" + fs.FileName);
}else{
fs.SaveToFile(webRootPath + "/SaveFirstPageAsImg/doc/" + fs.FileName);
}
return fs.Close();
// Make sure to add code blocks to your code group
# 前端代码
- 在OnPageOfficeCtrlInit事件中添加自定义按钮;
OnPageOfficeCtrlInit() {
pageofficectrl.AddCustomToolButton("保存", "SaveFile()", 1);
pageofficectrl.AddCustomToolButton("保存首页为图片", "SaveFirstAsImg()", 1);
},
// Make sure to add code blocks to your code group
- 实现自定义按钮所调用的js函数;
function SaveFile() {
//使用SaveFilePage属性设置后端保存方法的Controller路由地址,这个地址必须从"/"开始
pageofficectrl.SaveFilePage = "/saveFile";
pageofficectrl.WebSave();
}
function SaveFirstAsImg() {
//使用SaveFilePage属性设置后端保存方法的Controller路由地址,这个地址必须从"/"开始
pageofficectrl.SaveFilePage = "/saveFile";
pageofficectrl.WebSaveAsImage();
}
// Make sure to add code blocks to your code group
上次更新: 2025/11/14, 10:32:57