起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: qson_zhong

[结贴] wex5里如何集成一个第三方Lodop打印工具

  [复制链接]

35

主题

135

帖子

334

积分

中级会员

Rank: 3Rank: 3

积分
334
QQ
 楼主| 发表于 2016-8-16 12:36:58 | 显示全部楼层
你好,昨天在wex5集成lodop打印控件的功能已经没有问题,在wex5里测试的demo可以打印了。
但是现在还遇到些技术点需要解决。
    1,一个单据可以做多个打印的模板,模板的内容是一个标准的html文件,htlm文件里有一些控件,html文件里我会设为控件ID,设计模板时就作为参数。
    2,在.w文件里我会做一个打印按钮,打印按钮的功能是:1,在.w页面里,根据模板的名称动态加载html内容,并根据cdata的值,把值传入到模板对应的位置,打印前就把模板完成赋值。
    3,最后可以在.w页面里通过代码:document.documentElement.innerHTML,获取到填充完具体数据的html内容。
   
    技术的难点:1,在.w页面里,如何动态加载不同的html打印模板。
                2,加载的时候,如何把参数值传到html模板里,打印前必须把参数值组装好才可以获取innerHTML。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2016-8-16 14:02:33 | 显示全部楼层
1..w中显示html页面,需要用iframe,可以自己判断,给iframe设置不同src属性值控制加载不同的html
2.给iframe中的页面传参就是html中标准的,可以直接在url上传参http://blog.sina.com.cn/s/blog_6f3ef5c201019ysb.html

如果只是提供的html片段,不是html页面,可以通过追加元素的方式在.w中添加元素,拼给里面的控件赋值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

35

主题

135

帖子

334

积分

中级会员

Rank: 3Rank: 3

积分
334
QQ
 楼主| 发表于 2016-8-16 17:47:28 | 显示全部楼层
你好,按照你的指引,我已经把功能开发完成,效果也达到预期的目标。现在可以打印,可以调出自己设计的html模板。
但是:我在调试单个页面的时候,功能一切正常。最后,我把功能再放入portal里打开的时候,却发现报错,以下两种操作是同一段代码,但是却一个报错,一个没有报错。
操作一:在.w页右击,在浏览器运行,显示页面,打印,完全正常。
操作二:挂菜单用portal打开,显示界面正常,点打印,发现报错。调试发现win.document.getElementById("form1").innerHTML这个是空,所以报错。奇怪的是,代码一样,为什么操作一就正常,而操作二就报错。请解答一下,谢谢
回复 支持 反对

使用道具 举报

35

主题

135

帖子

334

积分

中级会员

Rank: 3Rank: 3

积分
334
QQ
 楼主| 发表于 2016-8-16 17:48:55 | 显示全部楼层
我的报错代码如下:
var iframe = this.getElementByXid("iframe2");
iframe.src='OrderPrintTemp1.htm?a=1&b=2&c=kk';
var win = iframe.contentWindow;
var htmlstr=win.document.getElementById("form1").innerHTML;
最后一行报错
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2016-8-16 18:09:05 | 显示全部楼层
debugger调试看看win.document.getElementById("form1")是什么

.w中不推荐用id去操作,用xid去操作
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

35

主题

135

帖子

334

积分

中级会员

Rank: 3Rank: 3

积分
334
QQ
 楼主| 发表于 2016-8-17 11:49:17 | 显示全部楼层
jishuang 发表于 2016-8-16 18:09
debugger调试看看win.document.getElementById("form1")是什么

.w中不推荐用id去操作,用xid去操作 ...

已经解决问题了。之前的问题是相对路径产生的。在portal里打开,与直接右键在浏览器运行路径会有不同。需要require.toUrl,获取绝对路径。结贴
回复 支持 反对

使用道具 举报

150

主题

511

帖子

2352

积分

金牌会员

Rank: 6Rank: 6

积分
2352
QQ
发表于 2017-8-8 09:52:00 | 显示全部楼层
楼主能不能分享一下具体如何集成Lodop啊?
回复 支持 反对

使用道具 举报

1017

主题

4393

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11175
QQ
发表于 2017-8-8 10:25:22 | 显示全部楼层
webcrow 发表于 2017-8-8 09:52
楼主能不能分享一下具体如何集成Lodop啊?

这个打印插件也不错,关注下 http://bbs.wex5.com/forum.php?mo ... &extra=page%3D7
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

150

主题

511

帖子

2352

积分

金牌会员

Rank: 6Rank: 6

积分
2352
QQ
发表于 2017-8-11 09:24:40 | 显示全部楼层
ecoolper 发表于 2017-8-8 10:25
这个打印插件也不错,关注下 http://bbs.wex5.com/forum.php?mod=viewthread&tid=84649&extra=page%3D7 ...

谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-22 18:58 , Processed in 0.056211 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表