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

如何将RDLC报告限制为PDF中的一页?,pdf,rdlc,report,viewer,Pdf,Rdlc,Report,Viewer,我有一个RDLC报告,我正在前端应用程序的报告查看器控件上显示它。我能很好地看到这份报告 但当我尝试将报告导出为PDF(使用内置选项)时,问题就出现了 我用3页打印报告,而我的客户希望用一页打印。我无法找出原因,因为在我的报表查看器中,我只看到一页,但在PDF中有3页 是否可以采取一些措施,以便我可以控制报告的大小?如果其他人遇到此问题并最终出现在这里,很可能是您的利润率问题。如果页边距设置不正确,您在尝试打印时通常会看到“额外”页面,而当您查看文档时,一切都正常。答案与Dugan所说的非常相似

我有一个RDLC报告,我正在前端应用程序的报告查看器控件上显示它。我能很好地看到这份报告

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

我用3页打印报告,而我的客户希望用一页打印。我无法找出原因,因为在我的报表查看器中,我只看到一页,但在PDF中有3页


是否可以采取一些措施,以便我可以控制报告的大小?

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

答案与Dugan所说的非常相似,但并不总是只有页边距。 但这很简单:

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

接下来,单击报告的空白区域(页眉、正文和页脚之外;基本上是设计周围的灰色区域),然后单击F4以查看属性面板。在属性的“布局”类别下,您将看到3个不同的选项: 互动化, 利润, 页面大小。 每个尺寸属性都可以展开以显示宽度和高度。可以展开左/右/上/下页边距属性

基本上,pdf导出不受页面大小的影响(尽管我通常尝试保持交互和页面大小相等)。当通过ReportViewer的内置导出功能呈现pdf文件时,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英寸),或者将页面大小增加到大于8.75英寸的大小。 注意:Acrobat Reader非常聪明,知道各种纸张大小。因此,尽管任意页面大小都可以使用,但通常最好使用真实页面大小。因此,在我的上一个示例中,我宁愿将页面大小设置为宽度=11“,高度=8.5”“,这是一个真正的字母大小的景观!Adobe通常会理解这一点并正确打印。 另请注意:某些打印机,尤其是旧打印机,在打印时页边距小于0.3英寸时会遇到问题。如果您想对用户友好,最好将这些旧打印机的页边距保持在足够大的位置;)


我希望这有帮助。

始终保持身体宽度:7.5或更小

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

总页宽:8.5


Ramana

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

如果tablix中有任何包含换行符的字段,则可能会导致此问题。如果数据较长,则可能需要将字体变小。请将“字体大小”属性设置为以下值:

  =iif(len(Fields!RepGroupName.Value) > 25, "6pt","8pt")
您可能还需要做另一件事。当我没有明显的理由创建额外页面时,这对我很有帮助。在报告属性页中,设置: ConsumerContainerWhiteSpace=true

还有一件事需要注意。当你改变布局时,身体的尺寸可能会在你不知道的情况下增长。你可能不得不再次把它推倒


如果没有解决这个问题,最终用户会非常恼火,我们也会很恼火。

我用这个答案来帮助解决我的报告有同样的问题,但也要考虑到,如果你有页脚或页眉,这些页脚或页眉不会进入页边……因此,如果你的横向模式是11 x 8.5,页边距为1,你真的有9 x 6.5。如果您的页脚高度为.5,