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

标签 pdf rdlc report viewer

我有一个 RDLC 报告,并将其显示在前端应用程序的报告查看器控件上。我能够完美地查看报告。

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

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

可以采取措施来控制报告的大小吗?

最佳答案

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

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

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

基本上,pdf 导出是根据页面大小进行的(尽管我通常会尝试保持交互大小和页面大小相等)。当通过 ReportViewer 的内置导出功能呈现 pdf 文件时,pdf 中每个“页面”的宽度和高度将由报表的 PageSize 属性中的宽度和高度确定(如果您使用自己的属性,则可以覆盖此属性) pdf 渲染的自定义代码)。 至于边距,它们指定为报告保留的可打印区域和页面边缘之间必须留有多少空白和不可打印的空间。

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

所以...如果您的页边距太宽,或者您的报告正文太宽,或者 PageSize 的宽度太窄,则渲染结果将被迫分解为多个页面以适应!

例如:如果我的报告正文宽度为 7.75 英寸,左边距为 0.5 英寸,右边距为 0.5 英寸,PageSize 中指定的宽度为 8.5 英寸,则我的报告将始终使用 2 页,每页 1数据页。正文的 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 非常智能,可以识别各种纸张尺寸。因此,虽然任意页面大小都可以,但通常最好使用实际页面大小。因此,在我的最后一个示例中,我宁愿将 PageSize 设置为宽度 = 11 英寸,高度 = 8.5 英寸,这是横向的真实字母大小! Adobe 通常会理解这一点并正确打印。 另请注意:某些打印机,尤其是较旧的打印机,在页边距小于 0.3 英寸的情况下会出现问题。如果您想对用户友好,则最好为那些较旧的打印机保留足够大的页边距;)

我希望这会有所帮助。

关于pdf - 如何将 RDLC 报告限制为 PDF 中的一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427730/

相关文章:

java - 如何在 iText PDF 中使用字体

javascript - 在 pdf.js 中拖动空白时防止从 'jumping' 到顶部的文本选择

对 RDLC 报告中的矩阵列进行排序

sql - 每周平均报告 : Redshift

grid - 选择显示字段取决于分组值

c# - 如何在 asp.net 网络表单中显示 pdf 文件

java - 如何使用 pdfbox 或其他 java 库减小合并后的 PDF/A-1b 文件的大小

c# - 如何在 vs 2013 中设置 ConsumeContainerWhitespace = true

visual-studio-2013 - 如何为 Tablix 创建页脚行并在报告的每一页中重复它?

Maven Emma 覆盖率报告失败