We'd like to have a settable property on the web designer and report viewer which takes a function which returns an access token.
This way a new access token can be requested by the designer/viewer when the current one expires.
This is usually used in the following way:
Should the above be to specific/inflexible:
Instead of caching the access token, call AccessTokenProvider for every fetch but also provide an additional parameter with the "reason" for the call, so the implementer of AccessTokenProvider can decide themselves when to return a cached AccessToken or generate a new one.
I am using the HTML5-based Blazor report viewer, with the parameters area position set to "top":
<ReportViewer @ref="reportViewer1"
ViewerId="rv1"
ServiceUrl="/api/reports"
ReportSource="@(new ReportSourceOptions
{
Report = "SampleReport.trdp",
})"
Parameters="@(new ParametersOptions { Editors =
new EditorsOptions { MultiSelect = EditorType.ComboBox, SingleSelect = EditorType.ComboBox }
})"
ScaleMode="@(ScaleMode.Specific)"
Scale="1.0"
ParametersAreaPosition="@(ParametersAreaPosition.Top)"
EnableAccessibility="false"/>
However, this causes the content of the parameters area to align incorrectly:
Some characters (for example, German Umlauts "Ü") render incorrectly when using a specific DPI setting and zoom level in the Standalone Report Designer during design/preview.
I've found out this is due to the dots on the U are out of the text rect when the vertical align is set to top (which is the default). It appears they get cut off because they exceed the boundaries of the text box.
Greetings,
Telerik.Reporting version: 19.1.25.521
ASP.NET Web Forms
Our team recently had a some trouble understanding the behavior of the ReportViewer.ParametersArea and the property "ParametersAreaVisible". Our desire was to hide this to the end user because the ParametersArea should not be fiddled with directly by the our end users; sensitive data could be accessed. Setting this to false does not stop the render of the ParametersArea. Typically setting the property on a control in ASP.NET Web Forms means the control will not render to the page. So having a property named "ParametersAreaVisible" is misleading in my opinion. I know the ParametersArea is thought as a benefit to the end user but in our case we do not desire this.
My feature request is to add a new property "DisableParameterArea" to the ReportViewer that causes the ParametersArea to not render to the ReportViewer.
Thank you
I am using the HTML5 Report Viewer and have a multi-page report. When the report is previewed with the default pageMode setting, where pages are continuously scrollen into, the found search results are correctly highlighted.
However, if I use pageMode="SINGLE_PAGE" in the HTML5 Report Viewer initialization code, and I navigate to page 2 or further, the found results are not highlighted.
I have multiline text in a TextBox item that has its Style > TextAlign set to Center.
It is rendered as expected with the GDI+ graphics engine.
When I switch to the Skia graphics engine in the Standalone Designer .NET, though, some lines are not centered correctly in PDF rendering:
In Preview of the designer, with PNG and OpenXML export the text is shown as expected.
When exporting an SVG image to PDF, polylines with stroke-dasharray
are rendered incorrectly — the dash pattern is not applied.
Additionally, polylines with a stroke-width
exhibit visual artifacts such as pixelation or inconsistent thickness.
Step by step instructions or code snippets how to reproduce the problem
If there's no black line with no stroke-dasharray - the red line in a bottom looks correct
test_svg_line_stroke.svg
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xml="http://www.w3.org/XML/1998/namespace" width="500" height="400" viewBox="0, 0, 500, 400" preserveAspectRatio="xMinYMin" transform="scale(1)">
<polyline points="100, 100 400, 100" stroke-width="7" stroke-dasharray="40 40" style="fill:none;stroke:#FF0000;" />
<polyline points="100, 200 400, 200" stroke-width="5" style="fill:none;stroke:#000000;" />
<polyline points="100, 300 400, 300" stroke-width="7" stroke-dasharray="40 40" style="fill:none;stroke:#FF0000;" />
</svg>
test_svg_line_stroke.svg - svg source file
test_svg_line_stroke.trdp - report with a picture box with SVG image
test_svg_line_stroke.pdf - generated PDF file
Hi,
I'm working on a multiplatform project, using Telerik Reporting to generate PDF reports. The development is taking place on Windows.
The report is loaded programmatically (ReportPackager.Unpackage(...)), and the data is injected directly into the reports.
Some reports requires specific charts that are created as images and inserted into the PictureBox elements of the report before rendering. We are using SkiaSharp to generate these images, and I'm now trying to inject these images into the PictureBox elements.
For my first attempt, I have used the Gdi by first converting the SKImage to a System.Drawing.Image and it worked fine although it does not seem optimal.
Now I'm trying to write directly the SKImage to the PictureBox :
public bool SetPictureBoxImage(string pictureBoxName, SKImage image)
{
PictureBox? pictureBox = (PictureBox?)_telerikReport.Items.Find(pictureBoxName, true).FirstOrDefault();
if (pictureBox is null) return false;
DrawingFactory.CurrentGraphicsEngine = GraphicsEngine.Skia;
using var bitmap = SKBitmap.FromImage(image);
IImage tlkImage = DrawingFactory.CreateImage(bitmap);
pictureBox.Value = tlkImage;
return true;
}
However, when calling 'ReportProcessor.RenderReport(...)', a 'System.ExecutionEngineException' is thrown (no call stack, no additional details available).
I have tried to move the call 'DrawingFactory.CurrentGraphicsEngine = GraphicsEngine.Skia' before loading the report with no luck.
Is the 'Skia' rendering not available on Windows?
Please note that I cannot rely on the 'appsettings.json' file to configure the graphic engine.
I have tried to set the configuration programmatically through a custom implementation of 'Microsoft.Extensions.Configuration.IConfiguration' passed as an argument to 'ReportProcessor' constructors, but it had no effect. I have searched your code to find another way to set the configuration but it does not seem possible as everything is static and internal.
Kind regards
Steps To Reproduce:
Expected behavior: The function is executed
Actual behavior: A message saying "Operation could destabilize the runtime." is shown.
When the WinForms Report Viewer is initialized from within the Form.Load Event, and the RefreshReport() method of the viewer is invoked before it is added to a parent form, the following exception will be thrown:
Telerik.ReportViewer.WinForms.Licensing.UiLicensePresenter.ShowWatermark(Action showWatermarkCallback) at Telerik.ReportViewer.Common.TelerikLicensePresenterBase.PresentWatermark(Action showWatermarkCallback) at Telerik.ReportViewer.WinForms.WinViewer.OnPaint(PaintEventArgs eventArgs) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(HWND hWnd, MessageId msg, WPARAM wparam, LPARAM lpa