Erro exportação Report Viewer
28/01/2010
0
Fala galera....
Não sei se é um problema bobo, mas até agora estou quebrando a cabeça pra fazer funcionar.
Criei um relatório no Report Viewer que utiliza a fonte 3 of 9 barcode, (para código de barra), coloquei a fonte na pasta Fonts do Windows. Porém ao exportar para PDF a fonte não aparece, mas já quando exporto para excel fica perfeito.
Alguém tem idéia do que pode ser ?
Obrigado,
Não sei se é um problema bobo, mas até agora estou quebrando a cabeça pra fazer funcionar.
Criei um relatório no Report Viewer que utiliza a fonte 3 of 9 barcode, (para código de barra), coloquei a fonte na pasta Fonts do Windows. Porém ao exportar para PDF a fonte não aparece, mas já quando exporto para excel fica perfeito.
Alguém tem idéia do que pode ser ?
Obrigado,
Anonymous
Curtir tópico
+ 0
Responder
Posts
01/06/2010
Dyego Furletti
Cara se sua App for web tem que fazer uma gambi. No meu caso fiz assim segue um exemplo.
Tem que ter essa assemblys abaixo no caso da web codigo de barra tem que gera um imagem e depois importar para o relatorio.
Mais informações.
dyego_scofield@hotmail.com
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Drawing;
using System.Drawing.Text;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
namespace Sistemas
{
public partial class boleto : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
byte[] x = GeraCodBarras("39996499854126741425209717040019642840000033560", ImageFormat.Bmp);
using (Stream s = File.Create(@"c:\cb\teste.bmp"))
{
s.Write(x, 0, x.Length);
}
}
protected byte[] GeraCodBarras(string data)
{
return GeraCodBarras(data, ImageFormat.Jpeg);
}
protected byte[] GeraCodBarras(string data, ImageFormat format)
{
data = ConverteCodBarras(data);
Bitmap codBarra;
Graphics gfx;
Brush blackBrush;
MemoryStream ms;
int x = 0;
foreach (char c in data)
{
if (c == 'F' || c == 'f')
x++;
if (c == 'G' || c == 'g')
x += 3; ;
}
codBarra = new Bitmap(x, 50);
gfx = Graphics.FromImage(codBarra);
blackBrush = new SolidBrush(Color.Black);
ms = new MemoryStream();
gfx.Clear(Color.White);
x = 0;
foreach (char c in data)
{
switch (c)
{
case 'F':
{
gfx.FillRectangle(blackBrush, x, 0, 1, 50);
x++;
break;
}
case 'f':
{
x++;
break;
}
case 'G':
{
gfx.FillRectangle(blackBrush, x, 0, 3, 50);
x += 3;
break;
}
case 'g':
{
x += 3;
break;
}
default:
break;
}
}
codBarra.Save(ms, format);
return ms.ToArray();
}
protected string ConverteCodBarras(string codBarras)
{
string retorno, barra, espaco;
string[] barras = { "00110", "10001", "01001", "11000", "00101", "10100", "01100", "00011", "10010", "01010" };
retorno = "FfFf";
if (codBarras.Length % 2 != 0)
codBarras = "0" + codBarras;
for (int i = 0; i < codBarras.Length; i+=2)
{
barra = barras[int.Parse(codBarras.Substring(i, 1).ToString())];
espaco = barras[int.Parse(codBarras.Substring(i + 1, 1).ToString())];
for (int j = 0; j < 5; j++)
{
if (barra.Substring(j, 1).ToString() == "0")
retorno += "F";
else
retorno += "G";
if (espaco.Substring(j, 1).ToString() == "0")
retorno += "f";
else
retorno += "g";
}
}
retorno += "GfFf";
return retorno;
}
}
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)