pdf - ssrs 报告查看器与导出的 pdf 页数

标签 pdf reporting-services count export

在 ReportViewer 和导出的 PDF 中查看时显示的页数不同。 例如:Report Viewer 的一页显示 50 条记录。但是当导出为 PDF 时,45 条记录出现在第 1 页,其余记录出现在第 2 页。

Sotion 尝试过: 1) 删除了顶部和底部边距。 2) 减少“交互式页面大小”以匹配页数。 但它并不一致,因为它对不同数量的记录表现不同。

谁能告诉我应该如何实现 ReportViewer 和导出的 PDF 之间的同步?

谢谢

最佳答案

简短的回答 - 你不能做你想做的事:不同的渲染器处理分页的方式不同,但适合它们的输出。

HTML 渲染器针对基于屏幕的阅读进行了优化,通常每页允许的内容比打印渲染器多,因为打印渲染器受其格式化的纸张尺寸的限制。因此,HTML 呈现器允许在更少的页面上显示更多内容,以获得更好的浏览器体验,而打印和 PDF 呈现器必须严格符合页面长度。

最好的例子是 Excel 渲染器 - 在大多数情况下,Excel 渲染器将整个报表渲染到一个工作表上(对于在组页脚上设置了分组和分页符的报表,它将在其自己的工作表上渲染每个组) .您不希望 Excel 呈现器人为地创建工作表以尝试“分页”您的报告或将其全部放在一个工作表中,但将标题插入电子表格行中的每一“页”。它做了适当的事情,将所有数据包含在一个大工作表中,即使这在逻辑上可能被认为是一个大“页面”。

HTML 渲染器页面长度由 InteractiveHeight 决定(更准确地说,影响)报表的属性(在报表“属性” Pane 的 InteractiveSize 属性中)。但是,交互式高度是一个近似值而不是固定的分页符设置,即使您将 InteractiveHeight 设置为与目标页面长度相同的长度,您的分页符仍可能不符合打印版本。这是因为 HTML 呈现器将改变页面长度以更好地将数据分组在一起,因此交互式分页符大约发生在但不总是精确设置交互式高度的位置。

这就是您的场景中发生的情况,其中报表查看器在一页上显示 50 条记录,但 PDF 在第一页上有 45 条记录,在第二页上有 5 条记录。报表查看器正在做出决定,因为只剩下几条记录要显示,所以即使超过交互高度,它也会将它们全部包含在一页上而不是强制用户滚动。因此,您可以获得更好的用户体验,但渲染器之间的页面会有所不同。报告的重要之处在于数据以及在该呈现器中处理该数据的经验,而不是无论您如何查看页面的长度都相同。

参见 this discussion渲染行为的更多信息,了解为什么您试图实现的目标无法实现。只需教育您的用户浏览器分页已针对他们的观看乐趣进行了优化。

关于pdf - ssrs 报告查看器与导出的 pdf 页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33900066/

相关文章:

android webview pdf 查看

java - 从 Java 打印 PDF 文档时,部分文本会旋转

php - 如何使用 mPDF 库在 PDF 中并排保存两个元素?

ruby-on-rails - 使用 Rails 显示存储在 Amazon S3 上的 PDF

wpf - 在我的应用程序中托管基本的 XAML 编辑器?

ssrs-2008 - SSRS 订阅错误 - 写入文件时出错

sql-server - 使用客户端报告与服务器端报告?

仅当 count() as col1 <> col2 时,mySQL 选择行

ios:保留2147483647的计数?

mysql - 计算多列中出现的次数