Unplanned
Last Updated: 08 Mar 2021 10:37 by ADMIN

I am rendering a report with multiple large images in PDF. The rendering fails with the following error:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.IO.MemoryStream.set_Capacity(Int32 value)
   at System.IO.MemoryStream.EnsureCapacity(Int32 value)
   at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BinaryWriter.Write(Byte[] buffer)
   at System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteSingleArray(NameInfo memberNameInfo, NameInfo arrayNameInfo, WriteObjectInfo objectInfo, NameInfo arrayElemTypeNameInfo, Int32 length, Int32 lowerBound, Array array)
   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray(WriteObjectInfo objectInfo, NameInfo memberNameInfo, WriteObjectInfo memberObjectInfo)
   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)
   at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
   at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
   at Telerik.Reporting.Cache.SerializationUtils.Serialize(Object value)
   at Telerik.Reporting.Services.Engine.PersistableObject.SetObject(String key, Object value)
   at Telerik.Reporting.Services.Engine.DocumentResources.AddResource(RenderingResource resource)
   at Telerik.Reporting.Services.Engine.Rendering.StoreRenderingStream(RenderingStream renderingStream)
   at Telerik.Reporting.Services.Engine.RenderingStream.Finish()
   at Telerik.Reporting.ImageRendering.DocumentPdf.EndDocument()
   at Telerik.Reporting.Writing.DocumentWriter.Telerik.Reporting.BaseRendering.IWriter.WriteEndDocument()
   at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.EndDocument(Boolean output)
   at Telerik.Reporting.Paging.PageCompositionBase.<>c__DisplayClass110_0.<CreatePageContentOutputTask>b__0()
An error has occurred while rendering the report: System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.InternalWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Telerik.Reporting.Paging.PageCompositionBase.SeparateThreadOutputBehavior.Finish()
   at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
   at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)

Unplanned
Last Updated: 08 Jan 2021 13:08 by ADMIN
Created by: AlbertBoettger
Comments: 2
Category: Reporting
Type: Feature Request
3
It is not possible to directly access multiple data sources using expressions in a single section or object. I would like to be able to define multiple data sources on a report and then bind textboxes to the data sources using a formula such as "=First("DataSourceName","FieldName")", which would bind to field FieldName in the first record of datasource DataSourceName, regardless of the datasource assigned to the table, list, etc.  We should be able to reference fields from multiple datasources in a single table, at least when using aggregates that return one value, such as Min, Max, First, Last, Sum, etc.
Unplanned
Last Updated: 18 Jan 2021 10:28 by ADMIN
There are multiple small visual defects when using the npm packages @progress/kendo-theme-default or -material:
- Toolbar glyphs are not centered
- Export submenu appears to the far left side.
- Toast messages for Loading/Done have no background and so interfere with report data.
- All report data is offset when using material theme.
Unplanned
Last Updated: 04 Jan 2021 13:42 by ADMIN

When a report is rendered by the REST Service, and that report has an element with applied 'Navigate To Report'-action, the full path of that file is being used as a reference, instead of a relative path or just the report-name.

Unplanned
Last Updated: 09 Feb 2021 10:48 by ADMIN
Created by: Andrey
Comments: 0
Category: Reporting
Type: Bug Report
3
A report has tooltips values for elements in a Graph and it works when displaying it in a Viewer. After it's exported to PDF the tooltips are not displaying in the PDF document, though 'ViewerRenderToolTips' is set to true.
Unplanned
Last Updated: 02 Mar 2021 13:36 by ADMIN
I'm using HTML5 ReportViewer within a Kendo Tab. If I opened the Search dialog of the viewer and then closed the viewer's tab, the Search dialog window remained.
Unplanned
Last Updated: 15 Mar 2021 10:44 by ADMIN
Created by: Jason
Comments: 0
Category: Reporting
Type: Feature Request
3
It would be nice if the freezing functionality is supported in Excel too.
Completed
Last Updated: 30 Mar 2021 12:39 by ADMIN
Release R1 2021 SP2
The assembly Telerik.ReportViewer.Wpf.Design.dll doesn't contain the required WPF assemblies as resources, which results in the following error when trying to add a viewer from the Visual Studio item template:
Error: Can not resolve assembly from Telerik.ReportViewer.Wpf.Design.Resources.Telerik.Windows.Data.dll
Error: System.ArgumentException: The path is not of a legal form.at System.IO.Path.NewNormalizePath(String path, Int32 maxPathLength, Boolean expandShortPaths)at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)at System.IO.Path.GetFullPathInternal(String path)at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)at Telerik.ReportViewer.Wpf.Design.Resources.GetResourceAssemblyName(ITracer tracer, String asmName)
Error: System.NullReferenceException: Object reference not set to an instance of an object.at Telerik.ReportViewer.Wpf.Design.ItemTemplateWizard.CheckTelerikWpfReferences()at Telerik.ReportViewer.Wpf.Design.ItemTemplateWizard.RunStartedCore(Dictionary`2 replacementsDictionary)
Unplanned
Last Updated: 25 Mar 2021 14:53 by ADMIN

To store reports, the Web Report Designer offers FileDefinitionStorage as an out-of-the-box solution for the DefinitionStorage. this FileDefinitionStorage does not support relative paths or sub-directories.

While the UriReportSourceResolver, which is used in the REST Service for rendering reports, does support sub-directories. These two services will often be used together, and for this reason, should behave consistently. 

Unplanned
Last Updated: 21 Sep 2022 13:35 by Steve
When you exporting the template from a report on the report server, it gives the "Template build failed" error message.
Under Review
Last Updated: 05 May 2021 11:43 by ADMIN
Created by: Yudith
Comments: 1
Category: Reporting
Type: Feature Request
3

Hi Telerik Team,

 

I am using telerik reporting watermark to put some "design" in our report template for all the pages, but a small image with a size of 50kb as watermark generates additional 200-300MB of memory usage during the rendering of the report.

 

Please reduce the memory consumption since this behavior limits the number of user that can access the report simultaneously

 

Thanks 

Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1

Ways to reproduce the problem:


1. Create simple one table one column report, with right horizontal text alignment in the column.

2. Set a data source with multiple rows, with different lengths for the string, displayed in the table's column.

3. Render the report under Windows and under Linux - the column text on different rows will not be aligned properly on linux, but will be shifted to the left or right depending on string's contents and length.

I've done a bit reserch on PDF rendering, concerning libgdiplus "MeasureString" method deficiencies, and here's what I discovered so far:

1. The source of the problem is the fact that libgdiplus ends up using cairo to measure string glyphs, and it does it's font metric in whole pixels (integer), using the DPI of the context it is called in. In short, if the context is using 96DPI, cairo will use these 96DPI to calculate (and round) the font metrics, and to write strings eventually.

2. When libgdiplus is compiled to use pango, the problem is much smaller (several millimeter differences become part of the millimeter), because internally pango scales the measurement 1024 times, but it appears that this is not enough to resolve the problem.

3. When using libgdiplus (with or without pango inbetween it and cairo) for both "DrawString" and "MeasureString", everything is perfect, but the fundamental problem in Relerik Reporting to PDF is that it renders in a vector format, but uses text metering for pixel format - it uses System.Graphics.MeasureString which is a DPI vased metering (on Linux at least) but uses proprietary "PdfRenderer.DrawString" of the "PdfRendered" class, not the native Graphics.DrawString. Since cairo rounds every character glyph metrics to an integer value, the longer the string is, the larger the discrepancy will be between string rendering when PDF is viewed (based on floats/doubles) and Graphics.MeasureString (based on integers, at least on Linux).

Ways to resolve the issue:

1. The best way to resolve the issue is not to call Graphics.MeasureString at all, when rendering to vector based format, because it measures string based on the DPI on graphics context it is in. In other words, proprietary "PdfRenderer.MeasureString" must be  implemented, which works with font glyphs directly, entirely using single or double precision math to calculate glyph dimensions and string dimensions.

2. Another, not so perfect, but HUGELY EASIER way is to set DPI of the rendering context of the PDF to a higher value, here's how:

For the moment, PdfContext's constructor looks like this
public PdfContext(string ownerPassword, string userPassword)
{
            this.dataFormatter = string.IsNullOrWhiteSpace(ownerPassword) ?
                                    new DataFormatter() :
                                    new DataFormatterEncypted(ownerPassword, userPassword);

            this.bmp = new Bitmap(1, 1);
            this.graphics = Graphics.FromImage(this.bmp);
            this.hdc = this.graphics.GetHdc();
            this.pdfFontCache = new PdfFontCache();
 }
This creates a Graphics object, based on a Bitmap with default system's DPI, which is usually 96DPI, or somethiong around this. So, all rendering metrics are callulated for 96DPI, so there will ALWAYS be a discrepancy between PDF's real rendering (when viewed with a reader), and Telerik reporting engine's calculations.

So, a simple way to get around this is to use higer DPI Graphics object, like this:

public PdfContext(string ownerPassword, string userPassword)
{
    this.dataFormatter = string.IsNullOrWhiteSpace(ownerPassword) ?
                            new DataFormatter() :
                            new DataFormatterEncypted(ownerPassword, userPassword);

    this.bmp = new Bitmap(1, 1);
    bmp.SetResolution(9600, 9600); //ADDED
    this.graphics = Graphics.FromImage(this.bmp);
    this.hdc = this.graphics.GetHdc();
    this.pdfFontCache = new PdfFontCache();
}
This makes the discrepancy 100 times lower, and in most cases practically invisible.

3. Another, more or less simple way to get around this, is to multiply font size and layout metrics by some number (I personally tried 16, 32, 128 and 256) before calling Graphics.MeasureString(), and dividing the result of the call by the same number after calling it. From my experience, 16 makes things MUCH better, and 128 is maybe enough to resolve 99.99% of the cases.

Attached is the result when rendered without multiplication (Linux-Orig.png) and when font size and layout methrics are multiplied by 128 before calling "MeasureString", and dividing the result by 128 afterwards (Linux-MultipliedBy128.png). On Windows the result looks exactly like the the corrected rendering on the "Linux-MultipliedBy128.png.
Unplanned
Last Updated: 18 Aug 2022 16:02 by James
Created by: Yoonsik
Comments: 2
Category: Reporting
Type: Feature Request
3

I need to set a structured heading tags like <h2><h3> (https://www.w3.org/TR/WCAG20-TECHS/PDF9.html) so the pdf file can have those tags.

Please make the Reporting support more various tags so pdf files can have structured tags.

Unplanned
Last Updated: 06 Aug 2021 14:19 by ADMIN
Please, add an option for setting gradient colors for the background of text box, header, table headers etc.
Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1

Hello, 

I am using the Blazor Web Report Designer on a page that is not the default route, i.e. "/". When I am at step 2 in the WebServiceDataSource wizard to add parameters, if I click the Add Parameter button it routes to the home page. 

I believe this is caused by the href="#' empty route. Below is an animation of what I mean. This is also reproduced in the BlazorIntegrationDemo in the installation directory.

 

ea14844d-c61e-4dd7-a8c4-151c472ba700_add-parameter-click-issue.gif (1920×866)

Unplanned
Last Updated: 21 Dec 2023 15:31 by j

Error: Unable to cast object of type 'Telerik.Reporting.Processing.Expressions.ProcessingEvalProvider' to type 'Telerik.Reporting.Expression.IValueObject'

is thrown on previewing the data source results in the WebServiceDataSource when the Runtime or Design time expressions are left completely empty or the runtime value is a report parameter with an empty Value property.

Completed
Last Updated: 11 May 2022 10:24 by ADMIN
Release R2 2022

The following error is thrown when inserting a new column on merged columns in a crosstab/table and then trying to select that column:

"Value cannot be null. Parameter name: components"
Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1
Created by: Shannon
Comments: 3
Category: Reporting
Type: Bug Report
3

I like the new open dialog for the Web Report Designer, but now my report names are all truncated and I can't tell what anything is.  Can you please off a list view in the Open Dialog so all my names aren't "Company R..."

 

Unplanned
Last Updated: 09 Nov 2021 15:34 by ADMIN
Created by: Wing Yee
Comments: 0
Category: Reporting
Type: Bug Report
3

Currently, the Web Report Designer does not allow one to insert a report item in place of a table cell textbox.

Meanwhile, the Standalone Designer does allow such operations.