找回密码
 立即注册

QQ登录

只需一步,快速开始

golden

注册会员

9

主题

40

帖子

95

积分

注册会员

积分
95

微信认证勋章

golden
注册会员   /  发表于:2020-8-11 19:11  /   查看:8798  /  回复:21
本帖最后由 Lenka.Guo 于 2020-8-12 15:45 编辑

用的web工程,怎么不经过预览,直接导出PDF文件

21 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-8-12 09:40:17
沙发
您好,请问您使用的是 MVC+JSViewer 吗?如果是的话,可以使用以下方法
方法1:在报表渲染完后直接执行导出
  1.   var viewer = GrapeCity.ActiveReports.JSViewer.create({
  2.         element: '#viewerContainer',
  3.         reportID: 'RDL报表.rdlx;', //报表名称
  4.         //availableExports: ['Xml', 'Pdf'],//导出的方式

  5.         reportService: {},
  6.         renderMode: 'Galley',//画廊模式
  7.         // other properties
  8.         documentLoaded: () => {        
  9.    
  10.             viewer.export('Pdf', null, true, { Title: '1997 Annual Report' })
复制代码




方法2:
初始化Viewer,但设置绑定viewer 的div 宽度和高度为0 使得客户不可见,然后调用Viewer.export()方法
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <title></title>

  6.     <link rel="stylesheet" href="https://cdn.materialdesignicons.com/2.4.85/css/materialdesignicons.min.css">
  7.     <link rel="stylesheet" href="https://fonts.cat.net/css?family=Open+Sans:400,300,600,700" type="text/css">
  8.     <link rel="stylesheet" href="scripts/jsViewer.min.css" type="text/css">
  9.     <script src="scripts/jsViewer.min.js"></script>
  10. </head>
  11. <body>

  12.     <div  id="viewerContainer" style="width:0px;height"0px">Loading Report</div>
  13. </body>
  14. </html>

  15. <script type="text/javascript">
  16.     var viewer = GrapeCity.ActiveReports.JSViewer.create({
  17.         element: '#viewerContainer',
  18.         reportID: 'ReportName.rdlx', // the id of the report to display


  19.     });
复制代码


回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 14:19:46
板凳
不是的,就是普通的web工程,因为是用的多个动态数据源,当初好像只能用web工程,如果换成MVC+JSViewer,数据会很多,好几千页,会像预览一样需要等待很长时间么?
回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 14:20:07
地板
另外能给个MVC+JSViewer工程的搭建方法么?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-8-12 15:45:06
5#
您好
您现在是Web项目是基于什么技术,具体Web项目中集成ActiveReports 可参考文档:
https://help.grapecity.com.cn/pa ... tion?pageId=5972414
回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 15:57:06
6#
已经成功集成了,但是不想要预览这个步骤,因为数据太多,预览要花费1到2分钟,太慢,可不可以直接不经过画面预览,直接导出PDF文件?能否提高速度?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-8-12 16:08:17
7#
本帖最后由 Lenka.Guo 于 2020-8-12 16:09 编辑

还是回到上面的问题呢,您用的是哪种方式集成是 JSViewer 还是WebViewer? 不同的Viewer,直接导出PDF 文件的方式不一样,如果是JSViewer 直接到处PDF 参考第一个回复帖子。
如果是 WebViewer 可以直接使用PDF RenderingExtension 类直接将报表导出为PDF.
https://www.grapecity.com/activereports/docs/v14/online/rendering-to-pdf.html
回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 16:10:13
8#
你好,因为我现在的工程师用的WebViewer 的,可以给个WebViewer 怎么用PDF RenderingExtension 类直接将报表导出为PDF?能给个示例么?我先看下,谢谢了
回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 16:21:58
9#
你好,我看了一下PDF RenderingExtension ,没有说怎么给报表动态加载多数据源,还用以前的方式么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
golden
注册会员   /  发表于:2020-8-12 16:29:12
10#
不太看得懂,有相关的示例工程么?还有报表需要有什么特殊设置么?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部