Completed
Last Updated: 16 Nov 2021 11:45 by ADMIN
Created by: A.
Comments: 17
Category: Reporting
Type: Bug Report
15

Hello Telerik team!

In the attachment, there are two PDFs, generated by the same template (also in attachment): one built under Windows, another one - under Linux (Docker). See red boxes as defects on the screenshot:

Text wrap issues

Text wrap issues

Dockerfile fragment:

# MS TrueTypeFonts install
RUN wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb -P ~/Downloads
RUN apt install -y ~/Downloads/ttf-mscorefonts-installer_3.6_all.deb

RUN apt-get install -y libc6-dev
RUN apt-get install -y libgdiplus
RUN apt-get install -y libx11-dev
RUN rm -rf /var/lib/apt/lists/*

 

Please help us to resolve these issues in Linux.

Completed
Last Updated: 11 Nov 2021 15:54 by ADMIN
Release R3 2021 SP1
Created by: Rama
Comments: 0
Category: Reporting
Type: Feature Request
1

Currently, the row/record delimiter when exporting to CSV is taken from the environment. This way, the same CSV document will have different line separators when exported from Windows and Linux.

It will be very useful if the row delimiter can be specified in the device information settings the same way the field delimiter can.

Completed
Last Updated: 11 Nov 2021 15:51 by ADMIN
Release R3 2021 SP1
Float report parameter = 0 or negative whole number is returned as int and an exception is thrown in the viewer. The issue is observed only in .NET Core projects.
Completed
Last Updated: 11 Nov 2021 15:19 by ADMIN
Release R2 2021 SP1
Created by: Christian
Comments: 1
Category: Reporting
Type: Feature Request
12
It will be useful to have a function that can be used to keep the client session alive, for example by calling this function periodically to make requests to the service and thus to prevent the session from expiring.
Completed
Last Updated: 11 Nov 2021 14:57 by ADMIN
Release R3 2021 SP1
Created by: Uday
Comments: 0
Category: Reporting
Type: Feature Request
4

Currently, the MsSqlServerStorage CommandTimeout is with the default value that is 30 s. In some scenarios, like when the Search functionality is enabled and the report is very big, the generated ClientSearchItemsResource may be too big, and when attempting to save it in the storage the latter may throw the exception 'System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.'

The error may be avoided if the CommandTimeout can be increased.

Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1
When using a report parameter of type Float, and there is no value for decimal places, or it is 0, it appears as if the parameter value passed to the runtime is converted to an integer value, and an "Invalid value for parameter <paramName>" is logged. 
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.
Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1

The default value of the report property SkipBlankPages is True and when there is an error in the report, for example, due to a problem with the connection to the database, the error message may be hidden as the report is not rendered at all.

The report should be rendered in order to display the error message also when SkipBlankPages is True.

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..."

 

Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1
Created by: Shannon
Comments: 0
Category: Reporting
Type: Bug Report
1

Pasting a HEX value to  a report item whose color has not been set before leads to the error:

"An error has occurred. NaN is not a valid value for Int32."

The workaround is to set the color of that property through the ColorPicker control before attempting to paste the new HEX color. If a color has been selected before, the issue is not present.

Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1
The base Implementation of ReportDesignerControllerBase.RenderPictureBoxAsync does not consider the configured IDefinitionStorage and respectively its IDefinitionStorage.BaseDir property.
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: 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.

Unplanned
Last Updated: 09 Nov 2021 09:20 by ADMIN
Created by: Neli
Comments: 2
Category: Reporting
Type: Bug Report
2
When WPF Report Viewer inside other control (e.g. TabControl) all events (PrintBegin, PrintEnd, ExportBegin, ExportEnd etc.) fires twice, because Loaded event fires twice and you call AttachModelEventHandlers method also twice.
Unplanned
Last Updated: 04 Nov 2021 15:40 by ADMIN

The print button does not work in Chrome and Edge when the PDF default behavior is set to Download PDF.

 

Declined
Last Updated: 04 Nov 2021 07:26 by ADMIN

Currently there appears to be no functionality available to add additional attachments via the Telerik Reporting Send Mail dialog or programmatically by passing parameters to the Report Viewer using a model.

 

Scenario 1:

- When we email a new Quote, which is a Telerik Report, to a Customer we would like to automatically attach a "New Products Brochure". The brochure is a frequently updated pdf document that would reside on the server.

 

Scenario 2:

- When we email a Customer Invoice, which is a Telerik Report, to a Customer if:

1) It is the 1st Invoice we have sent them for the current Agreement then automatically attach the Agreement related to Invoice - where the Agreement is another Telerik Report.

2) The Customer has an outstanding balance with us then attach a "Customer Statement", which is another Telerik Report, in pdf format.

 

Thanks in advance.

 


Unplanned
Last Updated: 02 Nov 2021 14:48 by ADMIN

When trying to use XML markup as Report Source for a SubReport, the error "Root element is missing" is being thrown. 

The input field taking the XML markup seems to initially read only the first row of the XML markup. To work around this issue, expand the input field dropdown and select the <Expression> option then paste the XML markup and save.

Unplanned
Last Updated: 01 Nov 2021 15:44 by ADMIN
The Web Report Designer CSV Data Source Wizard throws errors when the FileDefinitionStorage folder does not contain a Resources subfolder.
Unplanned
Last Updated: 01 Nov 2021 13:22 by ADMIN
Created by: Sherri
Comments: 0
Category: Reporting
Type: Bug Report
1

Consider the following expression of HtmlTextBox:

= " <span style="text-decoration: underline">hello</span>"

It is evaluated as invalid due to the quotes. However, it works if you replace the inner ones with single quotes:

= " <span style="text-decoration: underline">hello</span>"

Unplanned
Last Updated: 22 Oct 2021 05:15 by ADMIN
Created by: Wing Yee
Comments: 0
Category: Reporting
Type: Feature Request
12
Please, add the option to set the report of the web report designer dynamically. Similarly as for the HTML5-based report viewers. For example https://docs.telerik.com/reporting/html5-report-viewer-howto-custom-parameters