博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将Word,PDF文档转化为图片
阅读量:6930 次
发布时间:2019-06-27

本文共 2577 字,大约阅读时间需要 8 分钟。

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

 

转载于:https://www.cnblogs.com/renzhituteng/p/6365875.html

你可能感兴趣的文章
防跨站脚本攻击的代码实例
查看>>
[物理学与PDEs]第1章第4节 电磁能量和电磁动量, 能量、动量守恒与转化定律 4.2 电磁动量, 动量守恒与转化定律...
查看>>
独领风骚:单例模式
查看>>
如花搞笑图片集锦(转贴)
查看>>
spring mvc DispatcherServlet详解之前传---FrameworkServlet
查看>>
Sql开发技巧
查看>>
TDictionary 是delphi用的,c++builder用起来太吃力。
查看>>
centos安装redis及php-redis扩展
查看>>
[DOM Event Learning] Section 4 事件分发和DOM事件流
查看>>
GBK、UTF8、UNICODE编码转换
查看>>
关于web页面性能测量指标与建议
查看>>
linux tar命令简介
查看>>
GTD时间管理(1)---捕获搜集
查看>>
分享web前端七款HTML5 Loading动画特效集锦
查看>>
HttpWebRequest和HttpWebResponse
查看>>
oracle10g获得Date类型字段无分,秒的解决方案!
查看>>
POJ2029——Get Many Persimmon Trees
查看>>
精彩理发头盔
查看>>
Android基调(十六)- Service:startService()、stopService()、bindService()、unbindService()加...
查看>>
linux 安装jdk
查看>>