【问题标题】:Background image is not visible in printpreview mode in telerik report viewer在 Telerik 报告查看器的打印预览模式下,背景图像不可见
【发布时间】:2014-10-02 05:28:04
【问题描述】:

我正在使用 Telerik 记者,并使用以下代码设置了我的背景图片:

this.Style.BackgroundImage.ImageData = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(emzaUrl));

当我运行项目时,背景图像不会在 printpreview 模式下显示,但是当我在 reportviewer 中点击打印按钮时,背景会出现......我想在打印预览模式下显示背景以允许用户决定他应该使用什么背景/她使用...打印预览模式有什么问题?

我已经通过属性窗口手动设置了背景,但问题仍然存在......


回答: 我终于用了水印:

Telerik.Reporting.Drawing.PictureWatermark pictureWatermark1 = new Telerik.Reporting.Drawing.PictureWatermark();
pictureWatermark1.Image = "http://www.telerik.com/images/reporting/cars/NSXGT_7.jpg";
pictureWatermark1.Position = Telerik.Reporting.Drawing.WatermarkPosition.Behind;
pictureWatermark1.PrintOnFirstPage = true;
pictureWatermark1.PrintOnLastPage = true;
pictureWatermark1.Sizing = Telerik.Reporting.Drawing.WatermarkSizeMode.ScaleProportional;
pictureWatermark1.Opacity = 1;
report1.PageSettings.Watermarks.Add(pictureWatermark1);

【问题讨论】:

    标签: asp.net telerik reporting telerik-reporting


    【解决方案1】:

    您尝试设置的属性似乎已超时更改,某些问题可能仍在影响它。

    试试这个:

    report.Style.BackgroundImage.ImageData = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(emzaUrl));
    

    有关此问题的更多参考,您可以找到更多详细信息here

    更新

    我不知道你的上下文,因为你没有描述它。由于您的问题可能是由使用不再使用的属性引起的,因此上面的答案是表明该属性已被新的属性替换,参考 Telerik 帖子详细说明了该主题。

    但是,您可以在整个报告、页眉部分、详细信息部分和页脚部分中为您的报告添加背景图片。 在这张图片中,您可以看到我在上述所有 4 种情况下都添加了背景图片。

    为了实现上述目的,我只是简单地使用了添加图片的每个部分的属性。 报告的designer.cs中生成的相关代码如下:

     // pageHeaderSection1
            // 
            this.pageHeaderSection1.Height = Telerik.Reporting.Drawing.Unit.Cm(2.5D);
            this.pageHeaderSection1.Name = "pageHeaderSection1";
            this.pageHeaderSection1.Style.BackgroundImage.ImageData = ((System.Drawing.Image)(resources.GetObject("pageHeaderSection1.Style.BackgroundImage.ImageData")));
            this.pageHeaderSection1.Style.BackgroundImage.MimeType = "image/gif";
            this.pageHeaderSection1.Style.BackgroundImage.Repeat = Telerik.Reporting.Drawing.BackgroundRepeat.NoRepeat;
            // 
            // detail
            // 
            this.detail.Style.BackgroundImage.ImageData = ((System.Drawing.Image)(resources.GetObject("detail.Style.BackgroundImage.ImageData")));
            this.detail.Style.BackgroundImage.MimeType = "image/gif";
            this.detail.Style.BackgroundImage.Repeat = Telerik.Reporting.Drawing.BackgroundRepeat.NoRepeat;
            // 
            // pageFooterSection1
            //
            this.pageFooterSection1.Style.BackgroundImage.ImageData = ((System.Drawing.Image)(resources.GetObject("pageFooterSection1.Style.BackgroundImage.ImageData")));
            this.pageFooterSection1.Style.BackgroundImage.MimeType = "image/gif";
            this.pageFooterSection1.Style.BackgroundImage.Repeat = Telerik.Reporting.Drawing.BackgroundRepeat.NoRepeat;
    
             //Report1
            this.Style.BackgroundImage.ImageData = ((System.Drawing.Image)(resources.GetObject("Report1.Style.BackgroundImage.ImageData")));
                this.Style.BackgroundImage.MimeType = "image/gif";
    

    Here你可以找到一个带有结果的视频。如果您仍然有问题,请准确描述您的上下文(版本、代码、报告类型,如果它在类库中或是否是 trdx 等)。根据您提供的信息,这是我能回答的最佳答案。

    您也可以尝试设置watermark 而不是背景图片。

    【讨论】:

    • 您的代码没有改变任何东西...您自己尝试过吗?
    • 感谢您的详细回答。我想为整个页面设置背景,所以我只需要你的最后一部分代码。我试过了,但我的问题还存在。您的图片在页眉、细节和页脚中显示了应用的图片,请问您可以在打印预览模式下显示一张为整个 rport 设置背景图像的图片吗?
    • @mj-y 它是背景中的平铺图像标记为 //Report1。你是哪个版本的?报告是在类库中还是在 .trdx 中?您使用的是 Telerik 报表查看器还是原始的 asp 报表查看器?在上面的示例中,我使用了 Telerik 报表查看器,并且报表位于类库中。
    • 感谢亲爱的 FeliceM,我使用 Visual Studio 2013 和 Telerik_Reporting_Q1_2013_build_7.0.13.228_DEV ,并将记者用作类库。您的代码是正确的,但我想知道为什么它在我的系统中不起作用...我可以请您将您的演示发送给我吗?我会感谢你(mj.yazdani1988@gmail.com)
    • 我在 VS 2012 和 Telerik Q2-2014 中,但是 dll 包含在项目中,因此运行它应该没有问题。 dropbox.com/s/zgwny9lsyf447gf/…dropbox.com/s/zazbc1qejpyskhm/…
    猜你喜欢
    • 2018-10-26
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 2017-08-16
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多