基本有2种思路:

一种是转换后显示,比如vectordraw,将dwg转换成vds格式,再在web中显示,支持图层啊之类。还有CADViewer JS是转成SVG,pdf等格式,然后用web浏览……其实转换格式也是一个办法,用golang在后端,当有请求的时候,调用转换程序AutoXChange进行dwg到pdf的转换。如下列代码,缺点有3个,一个是万一后端转换不成功,等待很久,还要退出这个进程,另一个缺点是,autoxchange虽然支持字体路径,但是似乎不起作用,还是无法显示中文,最后一个当然是需要购买啦,否则有水印。

package mainimport ("fmt""os/exec""time"
)func main() {iname := "Office.dwg"oname := "office.svg"//    fontpath := "\\Fonts" "-FP", fontpath,arg := []string{"-i", iname, "-o", oname, "-DF", "arial", "-f", "svg", "-text", "-v=5"}//ax2017 -i office.dwg -o office.pdf -f pdf -text -v=5cmd := exec.Command("ax2019.exe", arg...)//记录开始时间start := time.Now()err := cmd.Start()if err != nil {//        fmt.Println(err)fmt.Printf("err: %v", err)}err = cmd.Wait() //Wait等待command退出,他必须和Start一起使用,如果命令能够顺利执行完并顺利退出则返回nil,否则的话便会返回error,其中Wait会是放掉所有与cmd命令相关的资源//   buf, err := cmd.Output() //运行命令并返回其标准输出if err != nil {fmt.Printf("err: %v", err)}//记录结束时间差elapsed := time.Since(start)fmt.Printf("elapsed: %s\n", elapsed)
}

另一个思路是用控件显示,比如DWGViewX,autovue,mxdraw,autovue没试验出来。dwgviewx只支持IE浏览器,有**版,去除了水印,但是客户端用ie访问的时候,需要下载activity控件,并安装一下,它只支持中文的宋体啊,黑体啊,之类,不支持那些单线字体。

mxdraw,autovue,dwgviewx控件的clsid有个共同的特点,见下图:在运行regedit注册表中搜ctrl.1,f3键搜下一个。

dwgviewx的效果

不支持单线中文字体

 <!-- <object id="1" visible="true" classid="clsid:B6FCC215-D303-11D1-BC6C-0000C078797F" type="application/x-oleobject" width="800" height="600"> --><!-- <param name="SRC" value="//127.0.0.1/static/img/test.dwg"></object> -->
<HTML><HEAD>
<title>DWGViewX Demo-DWG Viewer ActiveX Control</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="help/ie4.css"/></HEAD>
<script>
function ZoomIn()
{DWGViewX.ZoomIn();
}
function ZoomOut()
{DWGViewX.ZoomOut();
}
function ZoomAll()
{DWGViewX.ZoomAll();
}
function HideToolbar()
{DWGViewX.ShowToobar = !DWGViewX.ShowToobar
}function Pan()
{DWGViewX.PanByMouse();
}function ZoomWindow()
{DWGViewX.ZoomRectByMouse();
}
function HideLayoutBar()
{DWGViewX.ShowLayoutBar = !DWGViewX.ShowLayoutBar;
}
function Background()
{DWGViewX.Background = DWGViewX.Background ==0? 7:0
}
function Print()
{DWGViewX.Print();
}</script>
<BODY ><a href="javascript:ZoomIn()">Zoom In</a> | <a href="javascript:ZoomOut()">Zoom Out</a> | <a href="javascript:ZoomAll()">Zoom All</a>
| <a href="javascript:ZoomWindow()">Zoom Window</a>| <a href="javascript:Pan()">Pan</a>| <a href="javascript:HideToolbar()">Show/Hide Toolbar</a>                             | <a href="javascript:HideLayoutBar()">Show/Hide LayoutBar</a>                            |<a href="javascript:Print()">Print</a>                           |<a href="javascript:Background()">Background</a>                           <table border="0" width="100%"><tr><td width="50%">
<OBJECT id=DWGViewX classid="clsid:AC53EFE4-94A7-47E6-BBFC-E9B9CF322299" codebase="http://www.autodwg.com/dwg-viewer/dwgviewx.cab" width="700" height="520"><param name="_Version" value="65536"><param name="_ExtentX" value="18521"><param name="_ExtentY" value="13758"><param name="_StockProps" value="0"><param name="DrawingFile" value="http://127.0.0.1/static/img/05.dwg"><param name="ShowToobar" value="-1"><param name="ShowLayoutBar" value="1">
</OBJECT></td><td width="50%" valign="top"><table border="0" width="100%"><tr><td width="100%" style="border-bottom:1px dashed">  <img border="0" src="Help/tips.gif" width="12" height="11"> If the control can't display correctly,   please download and install the control first.  <p align="right"><a href="http://www.autodwg.com/download/dwgviewx.exe">Download DWGViewX</a></td>  </tr><tr><td width="100%"></td></tr><tr><td width="100%"><p align="right"><a href="DWGViewX.html">Help for Developers..</a>.</td></tr><tr><td width="100%"></td></tr></table></td></tr>
</table></BODY>
</HTML>

mxdraw:很好地支持中文单线字体,虽然代码里有支持chrome的写法,但是chrome还是打不开。有水印,对于浏览图纸不影响。推荐使用。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.mxcad.net:2080/ie/database.html -->
<!DOCTYPE html PUBLIC "" "">
<HTML lang="en" style="height: 100%;">
<HEAD><META content="IE=10.000" http-equiv="X-UA-Compatible"><META charset="UTF-8"><META name="GENERATOR" content="MSHTML 10.00.9200.17457"><META name="ProgId" content="FrontPage.Editor.Document"><TITLE>MxDraw控件</TITLE><!--引入打碎函数--><SCRIPT language="javascript" src="/static/js/mxdraw/ExplodeFun.js" type="text/javascript"></SCRIPT><!--移动夹点--><SCRIPT language="javascript" src="/static/js/mxdraw/MoveGripPointsFun.js" type="text/javascript"></SCRIPT><!--返回夹点--><SCRIPT language="javascript" src="/static/js/mxdraw/GetGripPointsFun.js" type="text/javascript"></SCRIPT><!--动态施放绘制事件回调函数指针--><SCRIPT language="javascript" src="/static/js/mxdraw/DoDynWordDrawFun.js" type="text/javascript"></SCRIPT><!--引入参数绘制的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/Draw.js" type="text/javascript"></SCRIPT><!--引入交互绘制的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxDyDraw.js" type="text/javascript"></SCRIPT><!--引入光栅图处理的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxIamges.js" type="text/javascript"></SCRIPT><!--引入界面控制的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxInterface.js" type="text/javascript"></SCRIPT><!--引入控制事件的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxEvents.js" type="text/javascript"></SCRIPT><!--引入打印控制的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxPrint.js" type="text/javascript"></SCRIPT><!--引入选择集的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxSelect.js" type="text/javascript"></SCRIPT><!--引入自定义命令的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxUserCustomCommand.js" type="text/javascript"></SCRIPT><!--引入扩展数据的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxData.js" type="text/javascript"></SCRIPT><!--引入图面搜索的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxMap.js" type="text/javascript"></SCRIPT><!--引入图形数据库的相关函数--><SCRIPT language="javascript" src="/static/js/mxdraw/MxDataBase.js" type="text/javascript"></SCRIPT><SCRIPT language="javascript" src="/static/js/mxdraw/mxcustom.js" type="text/javascript"></SCRIPT><!--引入梦想控件--><SCRIPT language="javascript" src="/static/js/mxdraw/mxocx.js" type="text/javascript"></SCRIPT><SCRIPT src="/static/js/mxdraw/jquery.min.js"></SCRIPT><SCRIPT language="JavaScript">document.oncontextmenu = new Function('event.returnValue=false;'); //禁用右键</SCRIPT>
</HEAD><BODY><DIV style="height: 900px;"><!--  width: 150%; float: right; --><SCRIPT type="text/javascript">LoadMxDrawX("http://127.0.0.1/static/img/05.dwg", "", "");</SCRIPT>
</DIV></BODY>
</HTML>

web html页面显示autocad等dwg格式图形文件方法相关推荐

  1. cad图形展示 html5,web html页面显示autocad等dwg格式图形文件方法

    基本有2种思路: 一种是转换后显示,比如vectordraw,将dwg转换成vds格式,再在web中显示,支持图层啊之类.还有CADViewer JS是转成SVG,pdf等格式,然后用web浏览--其 ...

  2. Solidworks输出Autocad的DWG格式乱码怎么办

    Solidworks输出DWG会有很多问题,如果没必要就别这么做,比如你只是想要打印图纸,Solidworks也可以直接打印,而且很方便,不需要转成DWG再打印,如果对方确实需要DWG格式的图纸,你只 ...

  3. eclipse web项目页面显示404_404 Not Found错误页面是什么?

    404 Not Found错误页面是一个非常普遍的现象,该页面的目的是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,虽然404错误页面在所难免,但网页设计师 ...

  4. ASP.NET使用Coolite.Ext.Web.dll,显示ext未定义的解决方法

    开发系统时用到Coolite.Ext.Web.dll,起初使用Windows Server 2003进行的开发,测试都没有问题.后来装了Windows Server 2008,再进行开发此时是,总显示 ...

  5. html页面显示dcm文件,dcm格式的影像 怎么把avi转换为dcm格式?

    医学影像文件dcm格式用什么软件打开? 在哪里可以下正在实习中,想有空用电脑边看边学,在网上查的CT MRI都是用的dcm格式,可我也是找了好久才找到的....网页链接 NBIA国际生物图像数据库. ...

  6. 打开QQ邮箱等页面显示一片空白的解决方法

    解决办法: 开始-运行,输入 regsvr32 jscript.dll 即可解决问题. jscript.dll是什么? DLL 文件: jscript 或者 jscript.dll DLL 名称: M ...

  7. php dwg格式,无需AutoCAD,用C#生成DWG文件

    是一个类库:Teigha.NET for .DWG 利用它就可以在无需安装AutoCAD软件的情况下,生成.读取DWG文件,适合那些导入导出的场合. Teigha曾用名OpenDWG .DWGdire ...

  8. 使用CadLib实现CAD(dxf、dwg格式)文件的读取和显示

    参考文章:CadLib 3.5 documentationhttps://www.woutware.com/doc/cadlib3.5/Index.aspx 读取:定义DxfModel类型的变量mod ...

  9. XML与web开发-01- 在页面显示和 XML DOM 解析

    前言: 关于 xml 特点和基础知识,可以菜鸟教程进行学习:http://www.runoob.com/xml/xml-tutorial.html 本系列笔记,主要介绍 xml 在 web 开发时需要 ...

最新文章

  1. 自定义UIViewController的过渡效果
  2. 皮一皮:一顿操作猛如虎...
  3. 玩英雄联盟手游,谁才是新手最喜欢的英雄?无极剑圣还是吗?
  4. LeetCode每日一题 416. 分割等和子集
  5. A first successfully deployed Java application in HCP
  6. Asterisk权威指南/第六章 拨号计划基础
  7. 终于用上gcc-4.1编译的系统了
  8. 【转】eclipse技巧1
  9. Do not use built-in or reserved HTML elements as component id等等vue warn问题
  10. 电信移动联通广电喜提5G牌照,5G手机明年爆发
  11. Head First C 学习日志 第十章 进程间通信 输入输出重定向
  12. 系统类配置(一)【安装windows10与ubuntu16.04双系统-附镜像资源】
  13. MLP 又又又升级了!港大商汤开源首个用于检测与分割任务的MLP架构
  14. Laravel的中间件
  15. Akash,全球首个去中心化云计算
  16. 视频号如何打造爆款内容,封面、选题、文案三大维度丨国仁网络
  17. 计算机无法传送文件到打印机,发送文件给打印机却没反应?解决方案都在这里了...
  18. Shopify成功案例,手把手教你玩转独立站
  19. Servlet过滤器与事件处理
  20. 北大计算机本科生如何保研清华,保研北京大学的2018届本科生,都来自哪些高校?...

热门文章

  1. 搭建自己的 服务端渲染 SSR
  2. Jquery数组和对象操作
  3. c/c++实现图像旋转任意角度
  4. 利用光谱测量气体浓度——用Matlab实现Origin功能(扣基底、拟合积分计算)
  5. 计算机网络教研活动计划,计算机网络教研室工作总结计划计划.docx
  6. 第六节:Maven生命周期和插件
  7. VS Code安装VUE及创建VUE项目
  8. oracle时间去掉日期,Oracle 时间和日期处理
  9. 一顿骚操作版本号比较性能提升300%
  10. 四则运算表达式 逆波兰表达式