Imprimir em PDF pelo C#
11/05/2012
0
RadChart radChart1 = new RadChart();
radChart1.Height = 400;
radChart1.Width = 1024;
radChart1.ChartTitle.TextBlock.Text = bl.tituloGrafico;
radChart1.ChartTitle.TextBlock.Appearance.Position.AlignedPosition = Telerik.Charting.Styles.AlignedPositions.Center;
radChart1.ChartTitle.Appearance.Dimensions.AutoSize = false;
radChart1.ChartTitle.Appearance.Dimensions.Height = 50;
radChart1.ChartTitle.Appearance.Dimensions.Width = 750;
radChart1.ChartTitle.Appearance.Dimensions.Margins.Left = Telerik.Charting.Styles.Unit.Percentage(5);
radChart1.ChartTitle.Appearance.Dimensions.Margins.Right = Telerik.Charting.Styles.Unit.Percentage(5);
Agora, abaixo tenho esse código para impressão dos gráficos. Observe que criaei um evento de OnClick paraesse botão. Vem a pergunta: Como eu faço para o radChart ser reconhecido dentro do btnSalvar_Click se ele foi declarado dentro do Page_Load? Quais using eu uso reconhecer os Document, PDfWriter e etc...?
protected void btnSalvar_Click(object sender, EventArgs e)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
this.radChart.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
this.Page.Response.Clear();
this.Page.Response.ClearHeaders();
/*
int opcao = 2; // 1-download de imagem, 2-download de pdf
if (opcao == 1)
{
this.Page.Response.AddHeader(Content-disposition, attachment; filename=Chart.png);
this.Page.Response.AddHeader(Content-type, image/png);
this.Page.Response.BinaryWrite(ms.ToArray());
}
else if (opcao == 2)
{
*/
Document pdfDoc = new Document(PageSize.A4.Rotate(), 10f, 10f, 10f, 0f);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(ms.ToArray());
Font fonteTitulo1 = FontFactory.GetFont(Verdana, 12, iTextSharp.text.Font.BOLD);
fonteTitulo1.SetColor(255, 0, 0);
Chunk titulo1 = new Chunk(DESEMPENHO POR PERIODO, fonteTitulo1);
Phrase phrase1 = new Phrase(titulo1);
Paragraph p = new Paragraph();
p.Add(phrase1);
pdfDoc.Add(p);
img.ScaleToFit(pdfDoc.PageSize.Width-40f, pdfDoc.PageSize.Height);
img.Alignment = Element.ALIGN_CENTER;
pdfDoc.Add(img);
pdfDoc.Close();
Response.Write(pdfDoc);
//}
this.Page.Response.End();
}
Pjava
Posts
11/05/2012
Joel Rodrigues
Caso não seja sugerido, talvez você precise adicionar uma referência à bilblioteca.
11/05/2012
Pjava
11/05/2012
Joel Rodrigues
Clique aqui para fazer login e interagir na Comunidade :)