Crystal reports 如何根据页码划分Crystal报表输出

Crystal reports 如何根据页码划分Crystal报表输出,crystal-reports,Crystal Reports,我有一个要求,以产生3个基于页码的pdf堆栈 页码1-4进入堆栈1 第5-6页进入堆栈2 页码7+进入堆栈3 请告诉我怎么做。如果您希望自己实现代码,这是一个良好的开端。还有几个PDF库可以供您选择 或者,有第三方Crystal automation工具可提供该功能。Ken Hamady在他的网站上维护了一个此类工具的列表。最简单的方法是创建一个公式,该公式将在第1-4页返回1,在第5-6页返回2,在第7+页返回3。然后根据此公式创建一个组,并使用bursting将每个组导出到单独的PDF。

我有一个要求,以产生3个基于页码的pdf堆栈

  • 页码1-4进入堆栈1
  • 第5-6页进入堆栈2
  • 页码7+进入堆栈3

请告诉我怎么做。

如果您希望自己实现代码,这是一个良好的开端。还有几个PDF库可以供您选择


或者,有第三方Crystal automation工具可提供该功能。Ken Hamady在他的网站上维护了一个此类工具的列表。

最简单的方法是创建一个公式,该公式将在第1-4页返回1,在第5-6页返回2,在第7+页返回3。然后根据此公式创建一个组,并使用bursting将每个组导出到单独的PDF。你需要使用外部软件爆破,肯的网站可能是一个很好的地方找到一些。这个是免费的:


我想您也可以手动执行此操作,方法是添加一个参数并根据组公式中提供的参数值进行筛选。

尝试以页码为目标来解决此问题是一个错误的选择。 您只需“突发”报告,使每个员工成为一个单独的文件导出

您可以在自己的代码中通过循环并将不同的员工id提供给以员工id为参数的报表来驱动该流程


一种更快、更强大的方法是使用第三方Crystal automation工具之一(参见我的原始答案)。这些工具中的一些可以完成一次报告,其中包含命名和通过电子邮件发送单个输出文件的额外选项。

谢谢。但问题是,我的报告页面上的数字正在重置,比如说,一旦员工号码发生变化。因此,对于一名员工,可能有4页,对于其他员工,同一份报告可能有10页。要求是根据页码将此单一报告划分为3个不同的报告。然后,您需要根据员工id和页码创建一个组。最好的方法是使用数据驱动的作业,这将允许您定义员工列表并为每个员工运行报告。顺便问一下,为什么您需要将所有内容都放在一个报表中,创建3个报表,或者使用一个参数,然后将同一个报表运行3次,并导出不同的页面摘要集。但问题是,我的报告页面上的数字正在重置,比如说,一旦员工号码发生变化。因此,对于一名员工,可能有4页,对于其他员工,同一份报告可能有10页。要求是根据页码将单个报告分为3个不同的报告。