07. december 2005 - 09:12Der er
17 kommentarer og 1 løsning
vis popup med pdf data i asp.net - c#
Hej,
jeg sidder med en asp.net løsning hvor jeg har et pdf document i memory. Det jeg så gerne vil er at vise et popup vindue med pdf i.
Jeg kan sagtens vise min pdf i det vindue der er igang - men jeg kan ikke finde ud af at vise det i sit eget vindue, det gør jeg sådan her:
MemoryStream m; m = pdf.getMemStream(); //hvor pdf er et pdf-document Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length); Response.OutputStream.Flush(); Response.OutputStream.Close(); Response.End();
Der skal sikkert bruges noget javascript - men det er jeg bestemt ikke en haj til.
du kan bruge : <a href="#" onclick="VisPdfRap();">Vis rapport som PDF</a> hvor VisPdfRap() ser ud på denne måde: <script type="text/javascript"> function VisPdfRap() { var winprint=window.open("Pdf.aspx","Rapport","title=afsaf,width=700, Height=650,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,left=0,top=0"); winprint.focus(); } </script>
hvis du laver en pdf.aspx. i page load tilføjer du: MemoryStream m; m = pdf.getMemStream(); //hvor pdf er et pdf-document Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-length", System.Convert.ToString(m.GetBuffer().Length)); Response.BinaryWrite(m.GetBuffer()); Response.Flush(); Response.End();
Nu er jeg ikke helt med - vil du oprette en fysisk fil (pdf.aspx) i pageload og derefter streame til den ??
Hvis det er det du mener så er det nok ikke en holdbar løsning - jeg har mange samtidige brugere. Så det bliver hurtigt et cirkus med at oprette og nedlægge filerne.
så kan du også på en aspx side tilføje i codebehind i page load:
MemoryStream m; m = pdf.getMemStream(); //hvor pdf er et pdf-document Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-length", System.Convert.ToString(m.GetBuffer().Length)); Response.BinaryWrite(m.GetBuffer()); Response.Flush(); Response.End();
så vil den side blive lavet om til et pdf dokument.
ja - men jeg skal jo have pdf'en med over. Den bliver lavet på en side - hvorefter man kan trykke på en knap 'vis pdf' som så skal åbne et nyt vindue med pdf'en i. Jeg har kun pdf'en i mem på den oprindelige side. Den laves dynamisk udfra en masse valg på siden.
Jeg havde bare håbet at der var en måde at spawne et vindue med html'en/pdf'en som parameter.
Men du har hjulpet mig godt på vej - jeg tror jeg gemmer mit pdf object i en sessionvar også henter den i det nye vindue (det nye vindue er vel i samme session ?)
det nye vindue vil indeholde den session du sender med. jeg tror ikke at der findes nogen måde at sende pdf eller html med som en parameter med mindre det er en parameter til en fysisk fil.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.