word在线编辑\生成图片(包含截图与合并)

系统 1925 0

1.业务原因

word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了。需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题。

2.首先word在线编辑,采用weboffice或dsoframer进行,优势可以在线编辑,但只限在ie游览器下进行。纠结...

3.编辑完后进行后台保存,weboffice或dsoframer有相应接口。

4.保存到后台后,进行页面图片转化,采用Aspose.Words。

5.由于Aspose.Words 产生的图片会有一点的页边距,所以需要进行截图保存。

6.截图后把多图进行合图保存。

付key code:

Document doc = new Document(Server.MapPath("../../Uploads/" + guid + ".doc"));ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Png);

  1.    for( int i=0;i<doc.PageCount;i++){  
  2.                 options.PageIndex = i;  
  3.                   
  4.                 doc.MailMerge.DeleteFields();  
  5.                   
  6.                 doc.Save(Server.MapPath( "../../Uploads/" + guid +  "-" + i.ToString() +  "-copy.png"), options);  //保存转换图片  
  7.                 Bitmap bm =  new Bitmap(Server.MapPath( "../../Uploads/" + guid +  "-" + i.ToString() +  "-copy.png"));  
  8.                  
  9.                 Rectangle cloneRect =  new Rectangle(0, 100, 794, 920); //截图,去掉居上100PX  
  10.                 PixelFormat format = bm.PixelFormat;  
  11.                 Bitmap cloneBitmap = bm.Clone(cloneRect, format);  
  12.                 
  13.                 cloneBitmap.Save(Server.MapPath( "../../Uploads/" + guid +  "-" + i.ToString() +  ".png"), ImageFormat.Png);  //保存截图  
  14.                 cloneBitmap.Dispose();  
  15.                  
  16.   }  
  1. Bitmap bmp =  new Bitmap(794, 920*doc.PageCount);    //创建一张空白图片(合图)  
  2.             Graphics g = Graphics.FromImage(bmp);  
  3.   
  4.   
  5.              for ( int i = 0; i < doc.PageCount; i++)  
  6.             {  
  7.                 Bitmap mp =  new Bitmap(Server.MapPath( "../../Uploads/" + guid +  "-" + i.ToString() +  ".png"));  
  8.   
  9.   
  10.                 g.DrawImage(mp,  new Point(0, i * 920));    
  11.   
  12.   
  13.             }  
  14.             g.Save();  
  15.             bmp.Save(Server.MapPath( "../../Uploads/" + guid +  ".png"));  
  16.             g.Dispose();  
  17.             bmp.Dispose();  
  18.             

word在线编辑\生成图片(包含截图与合并)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论