将Word,PDF文档转化为图片
2017-02-04 17:05
330 查看
1 #region 将Word文档转化为图片 2 /// <summary> 3 /// 将Word文档转化为图片 4 /// </summary> 5 /// <param name="wordpath">需要转换的word文档的全路径</param> 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); //生成中间文档pdf 13 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 #endregion 31 #region 将pdf转化为图片 32 /// <summary> 33 /// 将PDF 相应的页转换为图片 34 /// </summary> 35 /// <param name="strPDFpath">PDF 路径</param> 36 /// <param name="Page">需要转换的页页码</param> 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 /// <summary> 52 /// 从PDF中获取首页的图片 53 /// </summary> 54 /// <param name="PDFPath">PDF 文件路径</param> 55 /// <param name="Page">需要获取的第几页</param> 56 /// <returns></returns> 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 /// <summary> 63 /// 将单页的PDF转换为图片 64 /// </summary> 65 /// <param name="_image"></param> 66 /// <returns></returns> 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
相关文章推荐
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
- [导入]有背景色或者背景图片的word文档转成pdf时仍想保留背景色或者文档,怎么办呢?那就试试openoffice吧
- 把word文档转化成pdf文档
- pdf文档转化成图片
- 将word文档转换为图片格式的PDF
- Word文档或PDF转图片
- Java通过OpenOffice将word、ppt、excel、图片、txt文档转换成PDF
- 如何把pdf文档转化为word
- word2007中word文件转化成PDF时中不让图片路径显示出来:
- 怎样将图片格式的PDF文档变成word 文字识别
- OpenOffice 将word文档转为pdf再转为图片
- 通过java代码生成图片、word文档、pdf文档
- word文档和图片转pdf格式
- 使用java代码采用jacob的方式吧word文档转化为pdf格式
- 【办公-WORD】vba 统一改变word文档所有的图片大小 然后导出成PDF
- PDF文件转化成word,ppt,excel,图片(png,jpg...),tiff,rtf,txt,html,PDF组合,PDF编辑,PDF创建
- 如何将Word图片转换成PDF文档
- 将PDF文档转化为Word文档
- 项目中使用svg格式的字符串转换图片并把图片插入到word和pdf文档
- Word电子扫描器 Word文档转换为图片Pdf,Word文档扫描成Pdf工具