zoukankan      html  css  js  c++  java
  • word在线编辑生成图片(包含截图与合并)

    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.             
  • 相关阅读:
    对MySql查询缓存及SQL Server过程缓存的理解及总结
    PhpStorm中如何使用database工具,详细操作方法
    zookeeper 操作命令
    关于 php for zookeeper
    摘抄 <关于 作为>
    php 各种扩展
    http与tcp
    PHP 优化之php -fpm 进程
    MYSQL explain详解[转载]
    各种注释[转载]
  • 原文地址:https://www.cnblogs.com/rr163/p/4015688.html
Copyright © 2011-2022 走看看