如何限制PDF中一页的RDLC报告?

28 pdf report rdlc viewer

我有一个RDLC报告,我在前端应用程序的Report Viewer Control上显示它.我能够完美地查看报告.

但是当我尝试将报告导出为PDF(使用内置选项)时会出现问题.

我打印报告3页,而我的客户希望它在一个页面.我无法弄清楚它的原因,因为在我的报告查看器中,我只看到一页,但在PDF中有3页.

可以做些什么来控制报告的大小吗?

小智 72

答案与杜根所说的非常相似,但并不仅仅是利润率.这很简单:

在设计模式下编辑rdlc文件时,首先单击设计的BODY区域的空白部分.按F4查看属性选项卡.在这里,您将看到"大小"属性.这可以扩展为宽度和高度.您在此处看到的宽度表示报表正文所需的宽度作为可打印区域.即使你有空白区域,页面也知道它需要将它保持为可打印区域.从某种意义上说,它保留了空间.至于高度,系统通常知道它可以根据需要增长或缩小,除非您在其中的控件内另有规定.所以宽度通常会发挥最重要的作用.

接下来,单击报告的空白区域(标题,正文和页脚之外;基本上是设计周围的灰色区域),然后单击F4以查看属性面板.在属性的"布局"类别下,您将看到3个不同的选项:InteractiveSize,Margins,PageSize.可以展开每个Size属性以显示Width和Height.可以为左/右/上/下扩展边距属性.

基本上,pdf导出工作在PageSize之外(尽管我通常试图保持Interactive和Page大小相等).当pdf文件通过ReportViewer的内置导出功能呈现时,pdf中每个"页面"的宽度和高度将由报告的PageSize属性中的宽度和高度决定(如果你使用自己的属性,可以覆盖它) pdf渲染的自定义代码).至于边距,它们指定在为报表保留的可打印区域与页面边缘之间必须留空多少空格并且不可打印.

换句话说:您的报告的正文宽度,加上报告的左边距,加上报告的右边距,必须小于或等于报告的PageSize的宽度!

所以...如果你的边距太宽,或者你的报告的主体太宽,或者PageSize的宽度太窄,渲染的结果就会被分解为多个页面以便适合!

例如:如果我的报告的正文宽度为7.75",我的左边距为0.5",我的右边距为0.5",而PageSize中指定的宽度为8.5",我的报告将始终为每1页数据使用2页.7.75"的主体宽度,加上0.5"+0.5"的边距加起来为8.75",这比我页面上的8.5"大.所以我报告的每一页的第一个7.5"(左右)正文将显示在第一页,其余部分将分为下一页.这不会在报表查看器中完成,因为它只需添加滚动条就可以使报表超出页面大小,但在pdf导出中会令人烦恼.为了使我的示例报告适合1页,我可以尝试将报告的主体缩小到7.5"或更小,或者我可以将左右边距减少总共0.25"或更多(例如,将它们设置为0.3",总计减少0.4"),或者我可以将PageSize增加到大于8.75".注意:Acrobat Reader非常聪明,并且知道各种纸张尺寸.因此,任意PageSizes都可以使用,通常最好使用实际的页面大小.因此,在我的上一个例子中,我宁愿将PageSize设置为Width = 11"和Height = 8.5",这是一个真实的字母大小的风景!Adobe通常会理解这一点和正确打印.另请注意:某些打印机,尤其是旧打印机,打印时边距小于0.3英寸.如果你想对你的用户好,你应该最好保持边距足够大的旧打印机;)

我希望这有帮助.

  • 很棒的解释.晶莹剔透的解 (3认同)

小智 6

始终保持体宽:7.5或更小

左,右边距宽度小于0.5首先设置边距宽度 - >转到主菜单报告 - >报告属性 - >布局 - >更改左边距和右边距

页面总页数:8.5

拉玛纳


use*_*595 5

除了观察您的宽度之外,我还发现了其他无关的事情,这些事情可能会导致 PDF 中出现额外的空白页。

如果 tablix 有任何带自动换行的字段,这可能会导致它。如果数据很长,您可能希望将字体变小。使字体大小属性等于这样的东西:

  =iif(len(Fields!RepGroupName.Value) > 25, "6pt","8pt")
Run Code Online (Sandbox Code Playgroud)

您可能必须做的另一件事。当我没有明显的理由添加额外的页面时,这对我有所帮助。在报表属性页中,设置:ConsumeContainerWhitespace = true

还有一件事要注意。在更改布局时,主体尺寸可能会在您不知情的情况下增长。您可能不得不再次将其击倒。

如果没有解决,这个问题对最终用户来说是非常烦人的,而我们却很难解决。


Dug*_*gan 2

如果其他人遇到这个问题并最终出现在这里,这很可能是您的利润问题。如果页边距设置不正确,当您尝试打印时,通常会出现“额外”页面,而当您查看文档时一切正常。