This is a migrated thread and some comments may be shown as answers.

How to Solve Export To PDF Using RadClientExportManager For RadHtmlChart

10 Answers 404 Views
Chart (HTML5)
This is a migrated thread and some comments may be shown as answers.
Majid
Top achievements
Rank 1
Majid asked on 12 Nov 2019, 06:51 AM

Hi
How to Solve Export To PDF Using RadClientExportManager For RadHtmlChart
not support Persian Characters in Export PDF Using "RadClientExportManager"
As pictured below : 

    Attached file


Is there another way :   Client Side OR Server Side

10 Answers, 1 is accepted

Sort by
0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 14 Nov 2019, 06:19 PM

Hi Majid,

It is difficult to understand if this is being caused by the HTML5 Chart or the RadClientExportManager. Is is possible to provide the markup, code-behind and any JavaScript associated with the chart and export manager?

Additionally, I recommend reviewing the following HTML5 Chart localization and styling options which may provide more information for achieving the desired result.

1. Localization

2. Labels Styling

3. Legend Settings

I hope this helps. Please let me know if you need any additional information. Thank you for using the ASP.NET AJAX Forums.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Majid
Top achievements
Rank 1
answered on 16 Nov 2019, 07:58 AM

Hi "Eric R" Dear

I use from "RadClientExportManager" output "HtmlChart" to pdf file

But My problem is the opposite of writing and separating Persian letters, That Not supported in HtmlChart

As pictured Attached file

-----

I tested different solutions :

Localization and Legend Settings and font

But I didn't answer and I did not succeed

 

Regards, Majid

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 18 Nov 2019, 04:00 PM

Hi Majid,

Thank you for the additional information. Although, I will need more information to troubleshoot this. Can you provide the following information?

1. The HTML5 Chart markup, code-behind, any custom styling and any JavaScript events.

2. The Client Export Manager markup, code-behind, any custom styling and any JavaScript events.

Once I have the above information, I will try to investigate this issue locally and provide a more thorough response.

In the meantime, please let me know if you need any additional information. Thank you and I look forward to your reply.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Majid
Top achievements
Rank 1
answered on 25 Nov 2019, 07:09 AM

Hi "Eric R"
1- I use from "RadPivotGrid" and "SqlDataSource" and "RadHtmlChart".

2- "RadPivotGrid" and "RadHtmlChart" Connected to "SqlDataSource" named "dsChart"

<telerik:RadPivotGrid ID="PivotGridChart" runat="server" AllowFiltering="true"
        EnableZoneContextMenu="true" AllowSorting="true" AllowPaging="true" ShowFilterHeaderZone="false"
        EmptyValue="0" DataSourceID="dsChart" Culture="fa-IR"
        OnCellDataBound="PivotGridChart_CellDataBound">
        <ClientSettings EnableFieldsDragDrop="true">
            <ClientEvents OnPivotGridCreated="pivotGridFilterDialogHandler" />
            <Scrolling AllowVerticalScroll="true" SaveScrollPosition="true"></Scrolling>
            <Resizing AllowColumnResize="false" EnableRealTimeResize="true" />
        </ClientSettings>
        <Fields>
            <telerik:PivotGridReportFilterField>
            </telerik:PivotGridReportFilterField>
            <telerik:PivotGridRowField>
            </telerik:PivotGridRowField>
            <telerik:PivotGridColumnField>
            </telerik:PivotGridColumnField>
            <telerik:PivotGridAggregateField>
            </telerik:PivotGridAggregateField>
        </Fields>
    </telerik:RadPivotGrid>
 
----------------------------------------------------------------------------------------------------------
<telerik:RadHtmlChart ID="ColumnChart" runat="server" Height="560" Transitions="true" Skin="Silk" style="direction: ltr; text-align: right;"
        DataSourceID="dsChart" Visible="true"
        ChartTitle-Appearance-Align="Right" Legend-Appearance-Position="Top" Legend-Appearance-Align="End"
        PlotArea-XAxis-LabelsAppearance-RotationAngle="315"
        PlotArea-XAxis-LabelsAppearance-DataFormatString="{0:0.00}"
        PlotArea-CommonTooltipsAppearance-DataFormatString="{0:0.00}"
        Font-Names="Tahoma" ChartTitle-Appearance-TextStyle-FontFamily="Tahoma" Legend-Appearance-TextStyle-FontFamily="Tahoma"
        PlotArea-XAxis-LabelsAppearance-TextStyle-FontFamily="Tahoma" PlotArea-XAxis-TitleAppearance-TextStyle-FontFamily="Tahoma"
        PlotArea-YAxis-LabelsAppearance-TextStyle-FontFamily="Tahoma" PlotArea-YAxis-TitleAppearance-TextStyle-FontFamily="Tahoma">
    </telerik:RadHtmlChart>

 

3- Export to PDF : Used form "RadClientExportManager" and "RadButton" that call JS function into "RadCodeBlock"

<telerik:RadClientExportManager ID="RadClientExportManager1" runat="server">
        </telerik:RadClientExportManager>
 
----------------------------------------------------------------------------------------------------------
 
<telerik:RadButton ID="btnExportToPDF" runat="server" RenderMode="Lightweight" ToolTip="Export To PDF"
            AutoPostBack="false" UseSubmitBehavior="false" OnClientClicked="exportChartToPDF" Visible="true">
            <ContentTemplate>
                <asp:Image ID="imgExportToPDF" runat="server" ImageUrl="~/RGS/Images/ExportToPDF.png" Width="25px" Height="25px" />
            </ContentTemplate>
        </telerik:RadButton>
 
----------------------------------------------------------------------------------------------------------
function exportChartToPDF() {
            try {
                var $ = $telerik.$;
            <%--$find('<%=RadClientExportManager1.ClientID%>').exportPDF($(".RadHtmlChart"));--%>
                $find('<%=RadClientExportManager1.ClientID%>').exportPDF($(<%=divHtmlChart.ClientID%>));
                 
            }
            catch (response) {
                alert("error: " + response);
            }
        }

 

 

0
Majid
Top achievements
Rank 1
answered on 25 Nov 2019, 07:21 AM

"RadPivotGrid" creates the chart with the "OnCellDataBound" event

in code behind : set fields PivotGrid and fileName Export PDF and Font

PivotGridChart.Fields[1].Caption = "Caption";
PivotGridChart.Fields[1].DataField = "DataField";
 
RadClientExportManager1.PdfSettings.FileName = reportPivotGrid.ChartTitleText;
RadClientExportManager1.PdfSettings.Fonts.Add("Tahoma", "Fonts/Tahoma.ttf");

 

 

Regards, Majid

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 26 Nov 2019, 02:50 PM

Hi Majid,

Thank you for sending over the information. It is really helpful. For the Labels and Titles, it is possible to reduce the FontSize, Margins and Padding. For the Legend, the width can also be adjusted using the Orientation. I recommend trying different combinations of these until it is exported as desired.

If the issue persists, I would need to see a sample of the Data, the Chart Labels and the Legend Information. This is only because I am unable to translate the information locally. It would be helpful if this was in a SQL Script or CSV. For security reasons, it doesn't have to be the exact data just a representation of it. In order to obtain the SQL Scripts from the Data Source use the Import and Export SQL Database as Scripts documentation.

Please let me know if you need any additional information. Thank you and I look forward to your reply.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Majid
Top achievements
Rank 1
answered on 02 Dec 2019, 01:37 PM

Hi "Eric R"

Very Thanks

Testing the SQL script from the data source I used with the output data instance

and my DataBase Collation : SQL_Latin1_General_CP1256_CI_AS

 

SELECT
    N'ارزشیابی عملکرد سال 1395 کارکنان Ùˆ مدیران'    AS  ped_Gathering_Title     ,
    N'کارکنان Ùˆ مدیران پایه'                            AS  ped_SematGroup_Title    ,
    CAST(96 AS decimal)                                 AS  ValuePercent
 
UNION   ALL
 
SELECT
    N'ارزشیابی عملکرد سال 1396 کارکنان Ùˆ مدیران'    AS  ped_Gathering_Title     ,
    N'مدیران میانی Ùˆ هم تراز آن'                        AS  ped_SematGroup_Title    ,
    CAST(58 AS decimal)                                 AS  ValuePercent
 
UNION   ALL
 
SELECT
    N'ارزشیابی عملکرد سال 1395 کارکنان Ùˆ مدیران'    AS  ped_Gathering_Title     ,
    N'کارکنان Ùˆ مدیران پایه'                            AS  ped_SematGroup_Title    ,
    CAST(79 AS decimal)                                 AS  ValuePercent
 
UNION   ALL
 
SELECT
    N'ارزشیابی عملکرد سال 1396 کارکنان Ùˆ مدیران'    AS  ped_Gathering_Title     ,
    N'کارکنان Ùˆ مدیران پایه'                            AS  ped_SematGroup_Title    ,
    CAST(100 AS decimal)                                AS  ValuePercent
 
UNION   ALL
 
SELECT
    N'ارزشیابی عملکرد سال 1395 کارکنان Ùˆ مدیران'    AS  ped_Gathering_Title     ,
    N'مدیران میانی Ùˆ هم تراز آن'                        AS  ped_SematGroup_Title    ,
    CAST(65 AS decimal)                                 AS  ValuePercent


Regards, Majid

 

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 02 Dec 2019, 04:43 PM

Hi Majid,

Thank you for providing the SQL Select Statements. Although, in order to fully troubleshoot this I need the SQL Create Scripts for the Tables along with sample data. Can you provide the tables SQL Scripts with data as outlined in the Import and Export SQL Database as Scripts?

Please let me know if this is possible. Thank you and I look forward to your reply.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Majid
Top achievements
Rank 1
answered on 03 Dec 2019, 08:06 AM

Hi "Eric R"
Thank you very much for your time

SQL Create Scripts from Tables with sample data:

USE [ReportGenerator_DB]
GO
 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[RGS_TableData](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [ped_Gathering_Title] [nvarchar](150) NULL,
    [ped_SematGroup_Title] [nvarchar](150) NULL,
    [ValuePercent] [decimal](18, 0) NULL,
 CONSTRAINT [PK_RGS_TableData] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[RGS_TableData] ON
 
INSERT [dbo].[RGS_TableData] ([Id], [ped_Gathering_Title], [ped_SematGroup_Title], [ValuePercent]) VALUES (1, N'ارزشیابی عملکرد سال 1395 کارکنان و مدیران', N'کارکنان و مدیران پایه', CAST(96 AS Decimal(18, 0)))
INSERT [dbo].[RGS_TableData] ([Id], [ped_Gathering_Title], [ped_SematGroup_Title], [ValuePercent]) VALUES (2, N'ارزشیابی عملکرد سال 1396 کارکنان و مدیران', N'مدیران میانی و هم تراز آن', CAST(58 AS Decimal(18, 0)))
INSERT [dbo].[RGS_TableData] ([Id], [ped_Gathering_Title], [ped_SematGroup_Title], [ValuePercent]) VALUES (3, N'ارزشیابی عملکرد سال 1395 کارکنان و مدیران', N'کارکنان و مدیران پایه', CAST(79 AS Decimal(18, 0)))
INSERT [dbo].[RGS_TableData] ([Id], [ped_Gathering_Title], [ped_SematGroup_Title], [ValuePercent]) VALUES (4, N'ارزشیابی عملکرد سال 1396 کارکنان و مدیران', N'کارکنان و مدیران پایه', CAST(100 AS Decimal(18, 0)))
INSERT [dbo].[RGS_TableData] ([Id], [ped_Gathering_Title], [ped_SematGroup_Title], [ValuePercent]) VALUES (5, N'ارزشیابی عملکرد سال 1395 کارکنان و مدیران', N'مدیران میانی و هم تراز آن', CAST(65 AS Decimal(18, 0)))
SET IDENTITY_INSERT [dbo].[RGS_TableData] OFF

 

and "RadPivotGrid" and "RadHtmlChart" Connected to "SqlDataSource" named "dsChart"

<asp:SqlDataSource ID="dsChart" runat="server" ConnectionString="<%$ ConnectionStrings:MainConnection %>" SelectCommandType="Text"
    SelectCommand="SELECT   Id, ped_Gathering_Title, ped_SematGroup_Title, ValuePercent     FROM    RGS_TableData"></asp:SqlDataSource>

 

Regards, Majid

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 03 Dec 2019, 10:45 PM

Hi Majid,

Thank you for providing the additional information. Unfortunately, the HTML5 Chart is a client-side rendered control that is rendered dynamically. When using Special Characters, this may export differently to PDF. However, there are some design changes that can be made to allow the chart so that it can export legibly. Let me review them below. 

1. Removing Rotation Angle from the X-Axis Labels will stop the text from bleeding over the chart. This should render appropriately when exported to PDF. 

2. The Legend Position and Orientation settings can be changed to accommodate various sizes. For example, using a Custom Position can move the location of the Legend. Then adjust the Height and Width Orientation settings so the width of the Legend is acceptable for exporting.

I hope this helps. Please let me know if you need any additional information. Thank you.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Tags
Chart (HTML5)
Asked by
Majid
Top achievements
Rank 1
Answers by
Eric R | Senior Technical Support Engineer
Telerik team
Majid
Top achievements
Rank 1
Share this question
or