天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1506|回复: 0

[常见问题] 勾选视图数据进行打印

[复制链接]
Chain 发表于 2018-4-10 17:39:04 | 显示全部楼层 |阅读模式
本帖最后由 Chain 于 2018-4-14 23:07 编辑

问:勾选视图数据进行打印;(支持单选和多选打印)

操作步骤:

1、视图中添加操作的按钮,按钮动作为【文件下载】,命名为【导出】;

QQ截图20180410173304.png


2、在下面【文件路径脚本】处填写一下脚本;

5454.png


  1. (function(){
  2.     var htmlText = "<html><body style='font-family:SimSun'><table>";//因为html对字体编码要求严格,大小写敏感 所以html转换必须添加style='font-family:SimSun'否则PDF中中文无法显示
  3.     var params = getParameter("_selects"); //获取reequest提交勾选的信息
  4.     var docids = splitText(params,";");
  5.     var process = getDocProcess(getApplication());//Document操作类
  6.     for(var i=0;i<docids.length;i++){
  7.        var docid = docids[i];  //获取ID
  8.        var doc = process.doView(docid);//获取document
  9. htmlText += "<tr>请假类别:<td>"+doc.getItemValueAsString("请假类别")+"</td></tr>";
  10. htmlText += "<tr>请假开始日期<td>"+doc.getItemValueAsString("请假开始日期")+"</td></tr>";
  11. htmlText += "<tr>所属部门<td>"+doc.getItemValueAsString("所属部门")+"</td></tr>";
  12.        //拼装html
  13.     }
  14.     htmlText += "</table></body></html>";
  15.     var filePath="/uploads/test.pdf";//因为文件下载按钮是从uploads文件下面获取的
  16.     var pdf=new Packages.java.io.File("C:/apache-tomcat-7.0.57/webapps/obpm30204"+filePath);//生成一个新文件(项目中uploads路径)
  17.     if(!pdf.exists()){
  18.         pdf.createNewFile();
  19.     }
  20. var os = new Packages.java.io.FileOutputStream(pdf);//准备流
  21. $TOOLS.PDF_UTIL.htmlToPDF(htmlText,os);//生成PDF
  22.     return filePath;
  23. })();
复制代码


3、注意以下的内容需要根据自己需求来下进行修改;

生成PDF.png


备注:

1、本文提供的只是一个简单的demo,如果你需要的是复杂的样式,可以直接在代码中的html里面进行修改;

2、如果你想打开的pdf页面是在新的页面中打开,可以直接只使用【操作】-【跳转】,把该代码复制到跳转地址处,再选择【新页面】打开即可;




本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 12:17

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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