1 #region 将Word文档转化为图片 2 ///3 /// 将Word文档转化为图片 4 /// 5 /// 需要转换的word文档的全路径 6 public void Word_Convert2Image(string wordpath) 7 { 8 //第一步:将Word文档转化为Pdf文档(中间过程) 9 Aspose.Words.Document doc = new Aspose.Words.Document(wordpath);10 //生成的pdf的路径11 string Pdfpath = Server.MapPath("images") + "Word2Pdf.pdf";12 doc.Save(Pdfpath, Aspose.Words.SaveFormat.Pdf); //生成中间文档pdf13 14 //第二部:开始把第一步中转化的pdf文档转化为图片15 int i = 1;16 Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(Pdfpath);17 while (i <= pdfDocument.Pages.Count)18 {19 if (!string.IsNullOrEmpty(Pdfpath))20 {21 GetImage(Pdfpath, i);22 GC.Collect(); //回收内存23 }24 i++;25 }26 //图片转化完成之后,删除中间过程产生的pdf文档27 if (File.Exists(Pdfpath))28 File.Delete(Pdfpath);29 }30 #endregion31 #region 将pdf转化为图片32 ///33 /// 将PDF 相应的页转换为图片34 /// 35 /// PDF 路径36 /// 需要转换的页页码37 private void GetImage(string strPDFpath, int Page)38 {39 GC.Collect();40 string strSavePath = Server.MapPath("images");41 byte[] ImgData = GetImgData(strPDFpath, Page);42 MemoryStream ms = new MemoryStream(ImgData, 0, ImgData.Length);43 Bitmap returnImage = (Bitmap)Bitmap.FromStream(ms);44 string picName=string.Format("{0}_{1}.jpg", CreatePicName(),Page);45 string strImgPath = Path.Combine(strSavePath, picName); //图片名称可在此修改46 returnImage.Save(strImgPath);47 returnImage.Dispose();48 ms.Dispose();49 AddImage(Page, picName); //将图片添加到数据库50 }51 ///52 /// 从PDF中获取首页的图片53 /// 54 /// PDF 文件路径55 /// 需要获取的第几页56 ///57 private byte[] GetImgData(string PDFPath, int Page)58 {59 System.Drawing.Image img = PDFView.ConvertPDF.PDFConvert.GetPageFromPDF(PDFPath, Page, 200, "", true);60 return GetDataByImg(img);//读取img的数据并返回61 }62 /// 63 /// 将单页的PDF转换为图片64 /// 65 /// 66 ///67 private byte[] GetDataByImg(System.Drawing.Image _image)68 {69 System.IO.MemoryStream Ms = new MemoryStream();70 _image.Save(Ms, System.Drawing.Imaging.ImageFormat.Jpeg);71 byte[] imgdata = new byte[Ms.Length];72 Ms.Position = 0;73 Ms.Read(imgdata, 0, Convert.ToInt32(Ms.Length));74 Ms.Close();75 return imgdata;76 }77 #endregion