3

我正在写一份报告,它可以很好地导出为 PDF。但是,它不能正确导出到 Word 文档 (.doc)。

(页眉区域中的边距被忽略,这会弄乱分页符、缺少页脚文本等)

为了解决这个问题,我想禁用、启用和/或调整我的报告中的一些项目,具体取决于它是呈现为 PDF 还是 Word 文档。

有没有办法根据报告的呈现方式设置项目属性?

4

2 回答 2

3

我认为解决您的问题的唯一方法是:在您的报告中,您可以访问 Globals.ReportServerUrl。调用报表时,您可以在 URL 中指定其呈现类型(甚至其他内容,如尺寸等)。您需要做的就是编写一些自定义代码以从 URL 中提取呈现类型,然后您就完成了。

有关所有可能的 URL 参数的更多信息,请访问此处:http ://technet.microsoft.com/en-us/library/ms154040.aspx

于 2009-02-06T08:54:39.327 回答
1

我有一个类似的场景,我需要在 asp.net 应用程序中使用报表查看器控件。我想出的解决方案是将工具栏隐藏在报表查看器控件中,并为各种格式(PDF、Excel 是我们目前使用的两种格式)创建自己的下拉选择器。

解决方法是,在加载报表查看器控件时,我将一个附加参数传递给我的报表,指示“RenderType=HTML”。当请求获取 PDF 版本时,我使用相同的方法,除了我使用 ServerReport.Render() 函数并将“PDF 作为 RenderType 参数传递,与 Excel 相同。

这允许我在我的报告中针对各种报告格式进行条件格式化/显示/隐藏内容。

因为报表查看器 Web 控件支持从后面的代码呈现特定页面/缩放等功能,所以很容易构建我们自己的“工具栏”来操作报表,并为我们提供了更适合我们应用程序的样式的优势,(虽然这无论如何都可以用css来完成)。它解决的另一个问题是需要活动 x 组件的奇怪打印功能,我们实现了自己的打印机制以打印机友好的方式写出报告。

希望这可以帮助。

于 2009-09-22T22:07:35.177 回答