前不久產品經理提出一個X的需求,說上傳office文件的時候需要將首頁自動截圖,用於顯示文件列表的時候將文件第一頁縮略圖展示給用戶。
實現的方式有多種,這裡給大家介紹一個簡單實用的方案,用起來非常方便。
1.Aspose.Pdf實現將pdf轉換為圖片功能,獲取pdf文件流 通過aspose讀取第一頁保存為圖片
//filestream為pdf文件流
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filestream);
//saveDirectory為保存文件的位置
using (FileStream imageStream = new FileStream(saveDirectory, FileMode.Create)){
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(resolution, 100);//將第一頁保存為圖片
jpegDevice.Process(pdfDocument.Pages[1], imageStream);
imageStream.Close();
}
1.Aspose.Cells實現將excel轉換為圖片功能,獲取excel[Sheet1] ,通過aspose讀取保存為圖片
Workbook workbook = new Workbook(filestream);
Worksheet sheet = workbook.Worksheets[0];
sheet.PageSetup.LeftMargin = 0;
sheet.PageSetup.RightMargin = 0;
sheet.PageSetup.BottomMargin = 0;
sheet.PageSetup.TopMargin = 0;
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
imgOptions.ImageFormat = ImageFormat.Jpeg;
imgOptions.OnePagePerSheet = true;
imgOptions.PrintingPage = PrintingPageType.IgnoreBlank;
SheetRender sr = new SheetRender(sheet, imgOptions);
sr.ToImage(0,saveDirectory);
3.Aspose.Words實現將word轉換為圖片功能,獲取word文件流 通過aspose讀取保存為圖片
Aspose.Words.Document doc = new Aspose.Words.Document(filestream);
doc.Save(saveDirectory,Aspose.Words.SaveFormat.Jpeg);
是不是很方便,只要把上傳文件時文件流獲取然後通過Aspose即可保存為圖片,當然Aspose擁有更強大的功能,這裡只是用它來保存了一張縮略圖,它可以將相應的文件相互靈活的轉換,不過Aspose的dll是付費的 破解版只能轉換3頁內容,不過做個首頁截圖功能破解版的已經夠了!
原文鏈接:http://mp.weixin.qq.com/s?__biz=MzIzNTE2OTk1MA==&mid=402768932&idx=1&sn=0f091d8a9ebf006f5e5d128304d06e63#rd
相關資源獲取或其他疑問可在掃碼添加CodeL公眾號留言。(微信公眾號: codelir)
微信掃一掃獲取更多開發資源: