Como abrir en PDF desde asp.net
Publicado por jonathan (3 intervenciones) el 13/02/2008 23:35:00
hola
Verna mi problematica es la siguiente, tengo una base de datos que esta en sql server, tengo un campo que se llama archivo y es de tipo image, primero lo que hice es insertarr el archivo desde asp. net y utilize el siguiente codigo
public bool RegistrarEnBD(string Tabla)
{
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = @"workstation id=JONATHAN;packet size=4096;integrated security=SSPI;data source=JONATHAN;persist security info=False;initial catalog=BIDIDOCS";
SqlCommand comand = new SqlCommand ("pa_InsertarArchivo", conexion);
comand.CommandType = CommandType.StoredProcedure;
conexion.Open();
try
{
FileStream fsArchivoImagen = new FileStream(strRutaArchivo,
FileMode.Open, FileAccess.Read);
byte[] bytImagenDatos = new byte[fsArchivoImagen.Length - 1];
fsArchivoImagen.Read(bytImagenDatos, 0, bytImagenDatos.Length);
fsArchivoImagen.Close();
comand.Parameters.Add(new SqlParameter("@archivo",SqlDbType.Binary,
bytImagenDatos.Length, ParameterDirection.Input, false,
0, 0, null, DataRowVersion.Current, bytImagenDatos));
int X = comand.ExecuteNonQuery();
conexion.Close();
if (X != 0) return true;
return false;
}
catch(Exception Exp)
{
throw Exp;
}
}
ahora lo que yo deseo hacer, es obtener el archido de la base de datos y mostrarlo no en un formulario si no que se habra el acrobat y que se muestre ahi. si alguien puede ayudarme se los agradesco de antemano, el codigo que estoy utilizando es lo siguiente:
public bool ObtenerImagenDesdeBD(int No)
{
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = @"workstation id=JONATHAN;packet size=4096;integrated security=SSPI;data source=JONATHAN;persist security info=False;initial catalog=BIDIDOCS";
SqlCommand comand2 = new SqlCommand ("pa_ObtenerArchivo", conexion);
comand2.CommandType = CommandType.StoredProcedure;
conexion.Open();
comand2.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int));
comand2.Parameters["@Id"].Value = No ;
SqlDataAdapter da = new SqlDataAdapter(comand2);
DataSet ds = new DataSet();
da.Fill(ds,"Imagenes");
int Resul = ds.Tables["Imagenes"].Rows.Count;
if( Resul>0 )
{
byte[] bytImagenDatos = (byte[])ds.Tables["tabArticulos"].Rows[Resul-1]["archivo"] ;
MemoryStream stmMemoria = new MemoryStream(bytImagenDatos);
Object ob = new object();
AcrobatWeb2PDF.CWeb2PDFClass a = new CWeb2PDFClass();
a.NewDocument(ob,stmMemoria);
return true;//Image.FromStream(stmMemoria);
}
return true;
Verna mi problematica es la siguiente, tengo una base de datos que esta en sql server, tengo un campo que se llama archivo y es de tipo image, primero lo que hice es insertarr el archivo desde asp. net y utilize el siguiente codigo
public bool RegistrarEnBD(string Tabla)
{
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = @"workstation id=JONATHAN;packet size=4096;integrated security=SSPI;data source=JONATHAN;persist security info=False;initial catalog=BIDIDOCS";
SqlCommand comand = new SqlCommand ("pa_InsertarArchivo", conexion);
comand.CommandType = CommandType.StoredProcedure;
conexion.Open();
try
{
FileStream fsArchivoImagen = new FileStream(strRutaArchivo,
FileMode.Open, FileAccess.Read);
byte[] bytImagenDatos = new byte[fsArchivoImagen.Length - 1];
fsArchivoImagen.Read(bytImagenDatos, 0, bytImagenDatos.Length);
fsArchivoImagen.Close();
comand.Parameters.Add(new SqlParameter("@archivo",SqlDbType.Binary,
bytImagenDatos.Length, ParameterDirection.Input, false,
0, 0, null, DataRowVersion.Current, bytImagenDatos));
int X = comand.ExecuteNonQuery();
conexion.Close();
if (X != 0) return true;
return false;
}
catch(Exception Exp)
{
throw Exp;
}
}
ahora lo que yo deseo hacer, es obtener el archido de la base de datos y mostrarlo no en un formulario si no que se habra el acrobat y que se muestre ahi. si alguien puede ayudarme se los agradesco de antemano, el codigo que estoy utilizando es lo siguiente:
public bool ObtenerImagenDesdeBD(int No)
{
SqlConnection conexion = new SqlConnection();
conexion.ConnectionString = @"workstation id=JONATHAN;packet size=4096;integrated security=SSPI;data source=JONATHAN;persist security info=False;initial catalog=BIDIDOCS";
SqlCommand comand2 = new SqlCommand ("pa_ObtenerArchivo", conexion);
comand2.CommandType = CommandType.StoredProcedure;
conexion.Open();
comand2.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int));
comand2.Parameters["@Id"].Value = No ;
SqlDataAdapter da = new SqlDataAdapter(comand2);
DataSet ds = new DataSet();
da.Fill(ds,"Imagenes");
int Resul = ds.Tables["Imagenes"].Rows.Count;
if( Resul>0 )
{
byte[] bytImagenDatos = (byte[])ds.Tables["tabArticulos"].Rows[Resul-1]["archivo"] ;
MemoryStream stmMemoria = new MemoryStream(bytImagenDatos);
Object ob = new object();
AcrobatWeb2PDF.CWeb2PDFClass a = new CWeb2PDFClass();
a.NewDocument(ob,stmMemoria);
return true;//Image.FromStream(stmMemoria);
}
return true;
Valora esta pregunta


0