ASP.NET - Como abrir en PDF desde asp.net

 
Vista:

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;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como abrir en PDF desde asp.net

Publicado por Javier Santamaria (312 intervenciones) el 14/02/2008 12:23:31
Hola,

Tienes que crearte un reporte y alli añadirle el campo de tu BD. El reporte tiene objetos especiales para bindearse con la BD. Una vez tengas el reporte completo lo exportas con esta instruccion y te abrira el reader:

crs.ExportToxxtpResponse(ExportFormatType.PortableDocFormat, Response, False, "Quote")
(cambia el xx por ht en el metodo que si no me da error)

Espero que te sirva, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como abrir en PDF desde asp.net

Publicado por jonathan (3 intervenciones) el 14/03/2008 22:39:55
hola javier

e intentado hacer lo que tu comentas, pero no encuentro el metodo exportTohttpResponse, yo estoy trabajando en la version de asp.net 2003, los unicos metodos que e encontrado son los siguientes:

rpttest1.Export;
rpttest1.ExportOptions;
rpttest1.ExportToDisk;
rpttest1.ExportToStream;

agradesco tu ayuda.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar