从SAPUI5打印计划日历

2020-08-30 11:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试打印计划日历,但是CS...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试打印计划日历,但是CSS中有一些问题(例如间隔时间的位置)。

这是控制器中的代码

 onPrint:function(){
   var $ domTarget = this.byId(" PC1")。$()[0],
   sTargetContent = $ domTarget.innerHTML,
   sOriginalContent = document.body.innerHTML;
   document.body.innerHTML = sTargetContent;
   window.print();
   document.body.innerHTML = sOriginalContent;
 } 

谢谢

此致

Dieu

(36.8 kB)
7条回答
SAP浪
2020-08-30 12:14

你好,

不幸的是,当您使用" window.print()"打印页面时,它的打印效果就像任何页面一样(请尝试按ctrl + p打印此页面,它看起来很丑)。

您所能做的就是使用html2canvas库,它仍然很奇怪,但是可能比您在那里得到的要好。

为此,创建一个文件并将html2canvas库复制/粘贴为以下文件:

//代码粘贴,不用担心错误
 sap.ui.define([],function(){
 返回html2canvas;
 });
 

在视图控制器中添加:

 sap.ui.define([
 ...,
 " myproj/MyProject/html2canvas"
 ],函数(...,html2canvas){
 ...
 onPrint:function(){
   var $ domTarget = this.byId(" PC1")。$()[0],
   sTargetContent = $ domTarget.innerHTML,
   sOriginalContent = document.body.innerHTML;
   document.body.innerHTML = sTargetContent;
 html2canvas(document.body).then(function(canvas){
 document.body.innerHTML ="";//清除html
 document.body.appendChild(canvas)//在页面上绘制画布
 window.print();//打印
 document.body.innerHTML = sOriginalContent;//将原始内容返回页面
 });
 }
 ...
 }
 

它不是完美的,但比纯HTML更好(而且很有趣)。

希望有帮助,

关于

一周热门 更多>