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

时间:2009-01-09 11:19:54

标签: pdf rdlc report viewer

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

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

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

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

4 个答案:

答案 0 :(得分:70)

答案与杜根所说的非常相似,但并不总是只是边缘。 这很简单:

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

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

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

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

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

例如:如果我的报告的正文宽度为7.75“,我的左边距为0.5”,我的右边距为0.5“,而PageSize中指定的宽度为8.5”,我的报告将始终使用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英寸。如果您希望对用户友好,最好保留足够大的边距以用于旧打印机;)

我希望这会有所帮助。

答案 1 :(得分:6)

始终保持体宽:7.5或更小

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

总页面宽度:8.5

拉​​玛纳

答案 2 :(得分:3)

除了观察你的宽度外,我还发现其他不相关的东西可能会导致PDF中出现额外的空白页。

如果tablix有任何带有自动换行的字段,这可能会导致它。如果您有长数据,可能需要缩小字体。使字体大小属性等于:

  =iif(len(Fields!RepGroupName.Value) > 25, "6pt","8pt")

您可能需要做的另一件事。当我没有明显的额外页面原因时,这对我有所帮助。在“报告”属性页面中,设置:     ConsumeContainerWhitespace = true

另一件需要注意的事情。在更改布局时,身体大小可以在您不知情的情况下增长。你可能不得不再次把它击倒。

这个问题对于最终用户来说非常烦人,如果不能解决和讨厌我们解决。

答案 3 :(得分:2)

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

相关问题