Hi Team,
Is it possible to remove dll version and report designer path from Creator and Producer metadata tags. We got this requirement from our client. I am posting the remediation steps shared by our client below-
Is this possible to remove Telerik Reporting 14.1.20.618 (http://www.telerik.com/products/reporting.aspx) highlighted part and keep Telerik Reporting only?
We have successfully downloaded and installed Google Open Sans fonts (from the URL: https://fonts.google.com/specimen/Open%20Sans#:~:text=Open%20Sans%20is%20a%20humanist%20sans%20serif) to a Linux Ubuntu-based Docker container using the following Dockerfile script to install the dependencies and the fonts:
RUN apt-get update && apt-get install -y libfreetype6 libfontconfig1 fontconfig unzip #Google Fonts RUN mkdir -p /usr/share/fonts/truetype/googlefonts && cd /usr/share/fonts/truetype/googlefonts COPY ["Open_Sans.zip", "/usr/share/fonts/truetype/googlefonts"] RUN unzip -d /usr/share/fonts/truetype/googlefonts /usr/share/fonts/truetype/googlefonts/Open_Sans.zip RUN rm -f Open_Sans.zip RUN ls -al /usr/share/fonts/truetype/googlefonts RUN fc-cache -fv RUN fc-match OpenSans
Open_Sans.zip file should be in the solution folder when running the Docker from Visual Studio.
The fonts are displayed as expected when previewing in the browser. When exporting to PDF though, the Reporting engine throws the following exception when Open Sans font is used:
CSharp.Net8.Html5IntegrationDemo Error: 0 : System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Telerik.Reporting.Pdf.Fonts.TrueType.TrueTypeCollectionHeader.Read(FontReader fontReader)
at Telerik.Reporting.Pdf.Fonts.TrueType.TrueTypeCollectionHeaderVersion2.Read(FontReader fontReader)
at Telerik.Reporting.Pdf.Fonts.TrueType.FontCollectionProgram.Decompile()
at Telerik.Reporting.Pdf.Fonts.TrueType.FontCollectionProgram.EnsureFonts()
at Telerik.Reporting.Pdf.Fonts.TrueType.FontCollectionProgram.get_Fonts()
at Telerik.Reporting.Pdf.Fonts.TrueType.FontCollectionProgram.SelectFontProgram(String fontName, String fontFamily, Boolean bold, Boolean italic, Boolean underline, Boolean strikeout)
at Telerik.Reporting.Pdf.Fonts.TrueType.TrueTypeDescriptor..ctor(IFont engineFont)
at Telerik.Reporting.Pdf.Fonts.TrueType.TrueTypeDescriptor..ctor(PdfFont font)
at Telerik.Reporting.Pdf.PdfFontTable.GetDescriptor(PdfFont font)
at Telerik.Reporting.Pdf.PdfFontDictionary..ctor(PdfDocument document, PdfFont drawingFont)
at Telerik.Reporting.Pdf.PdfFontType0Dictionary..ctor(PdfDocument document, PdfFont font)
at Telerik.Reporting.Pdf.PdfFontTable.GetFont(PdfFont font)
at Telerik.Reporting.Pdf.PdfPageDictionary.GetFontName(PdfFont font, PdfFontDictionary& fontDictionary)
at Telerik.Reporting.Pdf.Rendering.PdfRenderer.GetFontName(PdfFont font, PdfFontDictionary& fontDictionary)
at Telerik.Reporting.Pdf.Rendering.PdfRendererGraphicsState.Update(PdfFont font, IBrush brush, Int32 renderMode)
at Telerik.Reporting.Pdf.Rendering.PdfRenderer.Update(PdfFont pdfFont, IBrush brush, Int32 renderMode)
at Telerik.Reporting.Pdf.Rendering.PdfRenderer.DrawString(String text, PdfFont pdfFont, IBrush brush, RectangleF rect, Boolean rightToLeft)
at Telerik.Reporting.Pdf.Drawing.PdfGraphics.DrawString(String s, IFont font, IBrush brush, RectangleF rect, StringFormatBase format)
at Telerik.Reporting.ImageRendering.CanvasPdf.DrawRegularChunk(String text, StringChunkContext context)
at Telerik.Reporting.ImageRendering.CanvasBase.DrawStringChunk(String s, StringChunkContext context)
at Telerik.Reporting.ImageRendering.CanvasBase.DrawStringMultiline(String s, StringChunkContext context, Boolean isFinalTextChunk)
at Telerik.Reporting.ImageRendering.DocumentBase.WriteText(String text, RectangleF bounds, IFont font, Color foreground, TextFormat format, MatrixBase transform, Boolean isFinalTextChunk)
at Telerik.Reporting.Writing.TextBoxWriter.WriteContent(DocumentWriter writer, TextBox textBox, ElementPageInfo pageInfo)
at Telerik.Reporting.Writing.ProcessingContentElementWriter`1.WriteElement(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.ProcessingElementWriter`1.Write(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.ElementWriter`1.Telerik.Reporting.Writing.IElementWriter.StartWrite(LayoutElement element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.WriteStartOperationsDispatcher.Write(IElementWriter writer, LayoutElement element, ElementPageInfo pageInfo, DocumentWriter documentWriter)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.Write(IElementWriter writer, LayoutElement element)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.Visit(TextBox textBox)
at Telerik.Reporting.Processing.TextBox.Accept(ProcessingElementVisitor visitor)
at Telerik.Reporting.Processing.ProcessingElementVisitor.Visit(LayoutElement element)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.DispatchWriteOperation(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.Writing.DocumentWriter.Telerik.Reporting.BaseRendering.IWriter.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.StartElement(LayoutElement element, ElementPageInfo info)
at Telerik.Reporting.Paging.PageStartElement.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageElementsLayer.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageContent.Output(IPageHandler handler)
at Telerik.Reporting.Paging.PageCompositionBase.OutputPageContent(Stopwatch stopwatchOutputContent, PageContent pageContent)
at Telerik.Reporting.Paging.PageCompositionBase.<>c__DisplayClass124_0.<CreatePageContentOutputTask>b__0()
CSharp.Net8.Html5IntegrationDemo Error: 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.InternalWaitCore(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(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)The same report with the same fonts is rendered successfully on Windows with the Standalone Report Designer for .NET 8 with both GDI and Skia graphics engines.
I have been forcing my webservice data source into a workable solution for making GraphQL requests. Right now in order for us to use GraphQL, we have to build out the request manually with a string such as the following:
{"query: "query GetSomeResult($input: Int!) {result {id name}}",
"variables": "{"input": @parameter}"
}While this is a normal way to hand craft a GraphQL request, the issue I have is that it shouldn't need to be that hard. Also I get no intellisense or suggestion in regards to the data returning. This means that when I try to bind data to a text box, I have to visually validate that the [=Fields....] is actually correct by looking at the GraphQL query and at the code base. I would love to see the ability to to just say have a set of standard api technologies we could implement from such as GraphQL queries, GRPc queries, or any other contract style request. I would expect that the data source logic would be smart enough to parse the query (at least for GQL) and be able to provide reccomendations.
Also a major issue we have had is in being able to pass that data source to subReports, or dealing with any nested objects such as a user.address.addressLine1 would not be able to be found if address is a nested values like the following
user: {
address: {
addressLine1
}
}in this page, there are 3 languages. Vietnamese, English, Chinese, it display Vietnamese Messy code when download PDF.
pls hlep, thanks.
Reproducible in version: 18.2.24.924 +
Not reproducible in version: 18.2.24.806
Description
In releases before 18.2.24.924 it was enough to open dll with types from SRD in order to be able to import the type reports. Currently, this is possible only if you copy the dll next to SRD exe file and add entry in Assembly References for the dll.
Steps To Reproduce
Build the project CSharp.ReportLibrary.csproj in C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q4\Examples\CSharp.NET Framework\ReportLibrary
Start SRD FF and from Open menu select the CSharp.ReportLibrary.dll dll in C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q4\Examples\CSharp.NET Framework\ReportLibrary\bin\Debug
Expected behavior
Something like "Please add first Assembly reference to the dll... from ...". Or even better. Do you allow the assembly ... to be loaded? And we can add the assembly reference instead of the customer.
Actual behavior
TypeReference error.
Hello,
when i set Visible=false for some columns in a table, there is a white space between this columns.
How can i prevent that?
Designer (Standalone):
Preview:
Thanks in advance
I'm using Angular 15 LTS
core.mjs:8400 ERROR Error: Uncaught (in promise): TypeError: perspectiveManager.dispose is not a function
TypeError: perspectiveManager.dispose is not a function
at Object.dispose (telerikReportViewer.js:8692:32)
at TelerikReportViewerComponent.ngOnDestroy (telerik-report-viewer.component.js:60:27)
at executeOnDestroys (core.mjs:5976:32)
at cleanUpView (core.mjs:5886:9)
at destroyViewTree (core.mjs:5712:21)
at destroyLView (core.mjs:5864:9)
at RootViewRef.destroy (core.mjs:11804:9)
at ComponentRef.destroy (core.mjs:12226:23)
at RouterOutlet.deactivate (router.mjs:2624:28)
at ActivateRoutes.deactivateRouteAndOutlet (router.mjs:2999:32)
at Object.dispose (telerikReportViewer.js:8692:32)
at TelerikReportViewerComponent.ngOnDestroy (telerik-report-viewer.component.js:60:27)
at executeOnDestroys (core.mjs:5976:32)
at cleanUpView (core.mjs:5886:9)
at destroyViewTree (core.mjs:5712:21)
at destroyLView (core.mjs:5864:9)
at RootViewRef.destroy (core.mjs:11804:9)
at ComponentRef.destroy (core.mjs:12226:23)
at RouterOutlet.deactivate (router.mjs:2624:28)
at ActivateRoutes.deactivateRouteAndOutlet (router.mjs:2999:32)
at resolvePromise (zone.js:1255:35)
at resolvePromise (zone.js:1209:21)
at zone.js:1322:21
at _ZoneDelegate.invokeTask (zone.js:450:35)
at Object.onInvokeTask (core.mjs:24197:33)
at _ZoneDelegate.invokeTask (zone.js:449:64)
at Zone.runTask (zone.js:218:51)
at drainMicroTaskQueue (zone.js:639:39)
at ZoneTask.invokeTask [as invoke] (zone.js:536:25)
at invokeTask (zone.js:1710:22)
This needs to be fixed ASAP, it's causing isues when the report page is being destroyed.
Hi,
In Desktop Designer, I create a very simple Report with :
I want to duplicate this table, so I select it and do a copy. After that, I select the detailSection and do a paste. The pasted table, in the Report Explorer look fine, but in the designer view it is not the case. And if I compare the TRDX files, an entire section is missing (the <Cells> section).
Attached files :
Thank you
PS: In additional informations, I specify ASP.NET MVC as Project Type, but it is not relevant.
Steps To Reproduce:
Expected behavior: The function is executed
Actual behavior: A message saying "Operation could destabilize the runtime." is shown.
I am using the Blazor wrapper of the web report designer.
When i first time after running my blazor app visit page with WebReportDesigner everything works as intended:
but when i exit and revisit it later this is a result:
We have reports rendered through the Native Blazor Report Viewer.
Consider adding a file attachment option in the Send Email dialog for report viewers.
I am rendering reports locally using the report processor. When I use the RenderReport method after processing MS Office Documents and PDF files with the Spire. Office, it causes the text of the report rendered with Telerik Reporting to get truncated:
using Telerik.Reporting;
Spire.Doc.Document document = new Spire.Doc.Document();
var wordDocPath = "./wordtest.docx";
var pdfFilePath = System.IO.Path.Combine("../../../", "wordtest.pdf");
document.LoadFromFile(wordDocPath);
Spire.Doc.ToPdfParameterList toPdf = new Spire.Doc.ToPdfParameterList();
//toPdf.AutoFitTableLayout = true;
document.SaveToFile(pdfFilePath, toPdf);
document.Close();
var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
var reportPackager = new ReportPackager();
string sourceReportFile = "./Static Broken CSU Analysis.trdp"; ;
using (var sourceStream = System.IO.File.OpenRead(sourceReportFile))
{
var report = (Report)reportPackager.UnpackageDocument(sourceStream);
var deviceInfo = new System.Collections.Hashtable();
var reportSource = new InstanceReportSource();
reportSource.ReportDocument = report;
Telerik.Reporting.Processing.RenderingResult result = reportProcessor.RenderReport("PDF", reportSource, deviceInfo);
if (!result.HasErrors)
{
string fileName = result.DocumentName + "." + result.Extension;
string filePath = System.IO.Path.Combine("../../../", fileName);
using (System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
}If I comment out the section that is converting the totally unrelated word file to pdf and run it again, it does not clip.
If you embed an iframe that points to a report viewer on a page, and the page is hosted on a web server on a different origin, the print functionality does not work.
Consider implementing a workaround to enable it.
In version 19.1.25.521, I am updating the report source of the viewer immediately after calling $("#reportViewer1").telerik_ReportViewer. This now results in an error:
TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
In previous versions, it used to work.
Having the ability to be able to set properties of the HTML5 report viewer globally would be a nice addition. This functionality already exists for other controls and it would have saved me lots of work when I needed to set a template url to over 50 pages.
Hopefully this gets implemented and saves someone else some of their time and if so, your welcome :)
Hi Telerik team
I'd like to implement customer specific colors based on a report variable or database field.
Currently it looks like the color properties only give us a color picker but does not support using an expression, is this correct?
As for context, I do not know the color in advance and it is used at 100+ different objects.
Same problem with conditional formats
Please let me know how to choose colors based on expressions.
If this is not possible yet, I'd like to request it as a new featur.
Best regards,